Algorithms

advertisement
Lesson 2
Starter
Look 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 Sort
Algorithm for bubble sort
count1 = length of list
count2 = length of list -1
FOR 1 to count1
FOR 1 to count2
IF list[count2] > list[count2+1] THEN
temp = list[count2]
list[count2] = list[count2+1]
list[count2+1] = temp
ENDIF
ENDFOR
ENDFOR
Algorithms - Sorting
Bubble Sort
6
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
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
Key
Sorted list
Items being swapped
Etc.......
Using your numbers – use the bubble sort method to sort your numbers
Algorithms - Sorting
Selection sort
Algorithm for selection sort
minimum = 99999999
count1 = length of list
count2 = length of list
positionofminimum = 1
FOR 1 to count1
FOR 1 to count2
IF list(count2) < minimum THEN
minimum = list(count2)
positionofminimum = count2
ENDIF
ENDFOR
temp = list(count1)
list(count1) = list(positionofminimum)
list(positionofminimum) = temp
END FOR
Algorithms – Sorting
Selection
6
2
1
3
2
1
4
0
1
3
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
Key
Sorted list
Items being swapped
Using your numbers – use the selection sort method to sort your numbers
Algorithms – Sorting
Insertion Sort
Algorithm for insertion sort
FOR every item in list
Sort 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)
2)
3)
4)
Can you describe how each one works?
What is difference between them?
Which one is the most efficient?
Why do you think one is more efficient than another – what
makes is more efficient?
Download