lesson 2. starter look at the hand out you have been given. can you sort the numbers into ascending...
TRANSCRIPT
Lesson 2
GCSE Computing
StarterLook at the hand out you have been given.
Can you sort the numbers into ascending order.
What mental or physical methods did you use to sort them?
Algorithms - Sorting Sorting algorithms are very frequently used in programming. There are many situations in which data needs to be sorted. There are many different sorting algorithms out there that have
different level of efficiencies.
Some example of sorts: Bubble Selection Insertion Quick
VIDEO – Sorting.mp4
Algorithms - Sorting
Bubble SortAlgorithm for bubble sort
count1 = length of listcount2 = length of list -1FOR 1 to count1
FOR 1 to count2IF list[count2] > list[count2+1] THEN
temp = list[count2]list[count2] = list[count2+1]list[count2+1] = temp
ENDIFENDFOR
ENDFOR
Algorithms - Sorting
Bubble Sort6 2 1 3 2 1 4 0 1 3
2 6 1 3 2 1 4 0 1 3
2 1 6 3 2 1 4 0 1 3
2 1 3 6 2 1 4 0 1 3
2 1 3 2 6 1 4 0 1 3
2 1 3 2 1 6 4 0 1 3
2 1 3 2 1 4 6 0 1 3
2 1 3 2 1 4 0 6 1 3
2 1 3 2 1 4 0 1 6 3
2 1 3 2 1 4 0 1 3 6
Key
Sorted list
Items being swapped
Algorithms - Sorting
Bubble Sort
1 2 3 2 1 4 0 1 3 6 Key
Sorted list
Items being swapped
1 2 2 3 1 4 0 1 3 6
1 2 2 1 3 4 0 1 3 6
1 2 2 1 3 0 4 1 3 6
1 2 2 1 3 0 1 4 3 6
1 2 2 1 3 0 1 3 4 6
1 2 2 1 3 0 1 3 4 6
Etc.......
Using your numbers – use the bubble sort method to sort your numbers
Algorithms - Sorting
Selection sortAlgorithm for selection sort
minimum = 99999999count1 = length of listcount2 = length of listpositionofminimum = 1
FOR 1 to count1FOR 1 to count2
IF list(count2) < minimum THENminimum = list(count2)positionofminimum = count2
ENDIFENDFOR
temp = list(count1)list(count1) = list(positionofminimum)list(positionofminimum) = temp
END FOR
6 2 1 3 2 1 4 0 1 3Key
Sorted list
Items being swapped
0 2 1 3 2 1 4 6 1 3
0 1 2 3 2 1 4 6 1 3
0 1 1 3 2 2 4 6 1 3
0 1 1 1 2 2 4 6 3 3
0 1 1 1 2 2 4 6 3 3
0 1 1 1 2 2 4 6 3 3
0 1 1 1 2 2 3 6 4 3
0 1 1 1 2 2 3 3 4 6
0 1 1 1 2 2 3 3 4 6
Algorithms – SortingSelection
Using your numbers – use the selection sort method to sort your numbers
Algorithms – Sorting
Insertion Sort
Algorithm for insertion sort
FOR every item in listSort into new list by inserting it into correct place, one item at a time.
END FOR
Algorithms – Sorting
Insertion Sort
6 2 1 3 2 1 4 0 1 3
2 6 1 3 2 1 4 0 1 3
1 2 6 3 2 1 4 0 1 3
1 2 3 6 2 1 4 0 1 3
1 2 2 3 6 1 4 0 1 3
1 1 2 2 3 6 4 0 1 3
1 1 2 2 3 4 6 0 1 3
0 1 1 2 2 3 4 6 1 3
0 1 1 1 2 2 3 4 6 3
0 1 1 1 2 2 3 3 4 6
Key
Sorted list
Using your numbers – use the insertion sort method to sort your numbers
Algorithms - Sorting Look at these examples of how different algorithms can change
the speed of the sorting
Link 1 – CLICK HERE
http://www.sorting-algorithms.com/
Link 2 – CLICK HERE
http://www.cs.ubc.ca/~harrison/Java/sorting-demo.html
Algorithms - Sorting Task
With a bit of research – compare and contrast the bubble sort, insertion sort, selection sort and Quick sort.
Ask yourself the following questions
1) Can you describe how each one works?2) What is difference between them?3) Which one is the most efficient?4) Why do you think one is more efficient than another – what
makes is more efficient?