+ All Categories
Home > Education > 01 - 01 January - Sorting

01 - 01 January - Sorting

Date post: 16-Feb-2017
Category:
Upload: neeldhara-misra
View: 82 times
Download: 2 times
Share this document with a friend
117
CS 321. Algorithm Analysis & Design Lecture 1 Sorting
Transcript
Page 1: 01 - 01 January - Sorting

CS 321. Algorithm Analysis & Design Lecture 1

Sorting

Page 2: 01 - 01 January - Sorting

Announcements

Page 3: 01 - 01 January - Sorting

Announcements

The course website is at http://cs321.xyz

Page 4: 01 - 01 January - Sorting

Announcements

The course website is at http://cs321.xyz

Please take the informal survey on the website, or send me an email with the subject [CS321].

Page 5: 01 - 01 January - Sorting

Agenda

Page 6: 01 - 01 January - Sorting

Agenda

Sorting Algorithms

Page 7: 01 - 01 January - Sorting

Agenda

Sorting Algorithms

Lower Bounds

Page 8: 01 - 01 January - Sorting

Agenda

Sorting Algorithms

Lower Bounds

Preference Aggregation

Page 9: 01 - 01 January - Sorting

Sorting

Page 10: 01 - 01 January - Sorting

4 4 2 1 2 5 6

1 2 2 4 7 9 7

6 4 5 5 9 4 3

7 4 5 9 7 3 8

Page 11: 01 - 01 January - Sorting

4 4

21 2

5 6

1 2 2

4

7 97

6

4

5 5

9

43

7

4

5

97

3

8

Page 12: 01 - 01 January - Sorting

Counting Sort

Page 13: 01 - 01 January - Sorting

45986 45382 39590 99921

75987 55321 78324 52011

12001 99215 54213

32007 14261 12345 77666

11100

Page 14: 01 - 01 January - Sorting

45986 45382 39590 99921

75987 55321 78324 52011

12001 99215 54213

32007 14261 12345 77666

11100

Page 15: 01 - 01 January - Sorting

45986 4538239590

9992175987

55321

78324

52011

12001

99215

54213

32007

14261 12345

77666

11100

Page 16: 01 - 01 January - Sorting

459864538239590

99921

7598755321

78324

52011

12001

99215

54213

32007

1426112345

77666

11100

Page 17: 01 - 01 January - Sorting

Bucket Sort

Page 18: 01 - 01 January - Sorting

21 25 32 45 90 63 72

Page 19: 01 - 01 January - Sorting

21 25 32 45 90 63 72

Page 20: 01 - 01 January - Sorting

21 25 32 45 90 63 72

Page 21: 01 - 01 January - Sorting

21 25 32 45 90 63 72

Page 22: 01 - 01 January - Sorting

21 25 32 45 90 63 72

Page 23: 01 - 01 January - Sorting

21 25 32 45 90 63 72

Page 24: 01 - 01 January - Sorting

21 25 32 45 9063 72

Page 25: 01 - 01 January - Sorting

21 25 32 45 9063 72

Page 26: 01 - 01 January - Sorting

21 25 32 45 9063 72

Page 27: 01 - 01 January - Sorting

21 25 32 45 9063 72

Page 28: 01 - 01 January - Sorting

21 25 32 45 9063 72

21 25 32 45 9063 72

Page 29: 01 - 01 January - Sorting

21 25 32 45 9063 72

21 25 32 45 9063 72

Page 30: 01 - 01 January - Sorting

21 25 32 45 9063 72

21 25 32 45 9063 72

Page 31: 01 - 01 January - Sorting

Bubble Sort

Page 32: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Page 33: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Page 34: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Page 35: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Page 36: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Page 37: 01 - 01 January - Sorting

21 25 32 45 63 7235

Page 38: 01 - 01 January - Sorting

24 31 23 14 56 62 11

10 32 21 89 22 54 12

42 19 51 78 9 14 3

99 27 50 88 63 70 81

Page 39: 01 - 01 January - Sorting

24 31 23 14 56 62 11

10 32 21 89 22 54 12

42 19 51 78 9 14 3

99 27 50 88 63 70 81

Page 40: 01 - 01 January - Sorting

24 31 23 14 56 62 11

10 32 21 89 22 54 12

42 19 51 78 9 14 3

99 27 50 88 63 70 81

Page 41: 01 - 01 January - Sorting

24 3123 14 56 62 11

10 32 21 89 22 54 12

42 19 51 78 9 14 3

99 27 50 88 63 70 81

Page 42: 01 - 01 January - Sorting

24 3123 14 56 62 11

10 32 21 89 22 54 12

42 19 51 78 9 14 3

99 27 50 88 63 70 81

Page 43: 01 - 01 January - Sorting

24 312314 56 62 11

10 32 21 89 22 54 12

42 19 51 78 9 14 3

99 27 50 88 63 70 81

Page 44: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Page 45: 01 - 01 January - Sorting

21 25 32 45 63 72

35

Use binary search to reduce the number of comparisons.

Page 46: 01 - 01 January - Sorting

Insertion Sort

Page 47: 01 - 01 January - Sorting

21 25 32 41 55 63 72

10 22 45 53 62 64 90

Page 48: 01 - 01 January - Sorting

21 25 32 41 55 63 72

10 22 45 53 62 64 90

Page 49: 01 - 01 January - Sorting

21 25 32 41 55 63 72

10

22 45 53 62 64 90

Page 50: 01 - 01 January - Sorting

21

25 32 41 55 63 72

10

22 45 53 62 64 90

Page 51: 01 - 01 January - Sorting

21

25 32 41 55 63 72

10 22

45 53 62 64 90

Page 52: 01 - 01 January - Sorting

21 25

32 41 55 63 72

10 22

45 53 62 64 90

Page 53: 01 - 01 January - Sorting

21 25 32

41 55 63 72

10 22

45 53 62 64 90

Page 54: 01 - 01 January - Sorting

21 25 32 41

55 63 72

10 22

45 53 62 64 90

Page 55: 01 - 01 January - Sorting

21 25 32 41

55 63 72

10 22 45

53 62 64 90

Page 56: 01 - 01 January - Sorting

21 25 32 41

55 63 72

10 22 45

53

62 64 90

Page 57: 01 - 01 January - Sorting

21 25 32 41

55 63 72

10 22 45

53 62 64 90

Page 58: 01 - 01 January - Sorting
Page 59: 01 - 01 January - Sorting
Page 60: 01 - 01 January - Sorting
Page 61: 01 - 01 January - Sorting
Page 62: 01 - 01 January - Sorting
Page 63: 01 - 01 January - Sorting

Merging two sorted arrays of length n each takes O(n) comparisons.

Page 64: 01 - 01 January - Sorting
Page 65: 01 - 01 January - Sorting
Page 66: 01 - 01 January - Sorting
Page 67: 01 - 01 January - Sorting
Page 68: 01 - 01 January - Sorting
Page 69: 01 - 01 January - Sorting
Page 70: 01 - 01 January - Sorting
Page 71: 01 - 01 January - Sorting
Page 72: 01 - 01 January - Sorting
Page 73: 01 - 01 January - Sorting
Page 74: 01 - 01 January - Sorting
Page 75: 01 - 01 January - Sorting
Page 76: 01 - 01 January - Sorting
Page 77: 01 - 01 January - Sorting
Page 78: 01 - 01 January - Sorting
Page 79: 01 - 01 January - Sorting
Page 80: 01 - 01 January - Sorting
Page 81: 01 - 01 January - Sorting
Page 82: 01 - 01 January - Sorting
Page 83: 01 - 01 January - Sorting
Page 84: 01 - 01 January - Sorting
Page 85: 01 - 01 January - Sorting
Page 86: 01 - 01 January - Sorting
Page 87: 01 - 01 January - Sorting
Page 88: 01 - 01 January - Sorting
Page 89: 01 - 01 January - Sorting
Page 90: 01 - 01 January - Sorting
Page 91: 01 - 01 January - Sorting
Page 92: 01 - 01 January - Sorting
Page 93: 01 - 01 January - Sorting

There are log n layers of recursion.

Page 94: 01 - 01 January - Sorting

There are log n layers of recursion.

The work done at each layer is O(n).

Page 95: 01 - 01 January - Sorting

There are log n layers of recursion.

The work done at each layer is O(n).

Total time spent is O(n log n).

Page 96: 01 - 01 January - Sorting

Merge Sort

Page 97: 01 - 01 January - Sorting
Page 98: 01 - 01 January - Sorting

Pick a “pivot”.

Page 99: 01 - 01 January - Sorting

Pick a “pivot”.

Page 100: 01 - 01 January - Sorting
Page 101: 01 - 01 January - Sorting

Recurse!

Page 102: 01 - 01 January - Sorting
Page 103: 01 - 01 January - Sorting

“Merging” is trivial.

Page 104: 01 - 01 January - Sorting
Page 105: 01 - 01 January - Sorting
Page 106: 01 - 01 January - Sorting
Page 107: 01 - 01 January - Sorting

The recursion tree may be very skewed.

Page 108: 01 - 01 January - Sorting

Quick Sort

Page 109: 01 - 01 January - Sorting

Sorting AlgorithmsCounting Sort

Bubble Sort

Merge Sort

Quick Sort

Insertion Sort

O(n + k)

O(n2)

O(n log n)

O(n2)

O(n2)

Page 110: 01 - 01 January - Sorting

Sorting AlgorithmsCounting Sort

Bubble Sort

Merge Sort

Quick Sort

Insertion SortBinary

O(n + k)

O(n2)

O(n log n)

O(n2)

O(n2)

Page 111: 01 - 01 January - Sorting

Sorting AlgorithmsCounting Sort

Bubble Sort

Merge Sort

Quick Sort

Insertion SortBinary

Randomised

O(n + k)

O(n2)

O(n log n)

O(n2)

O(n2)

Page 112: 01 - 01 January - Sorting

References

Page 113: 01 - 01 January - Sorting

References

Look up “The Sound of Sorting” on Youtube.

Page 114: 01 - 01 January - Sorting

References

Look up “The Sound of Sorting” on Youtube.

http://www.sorting-algorithms.com

Page 115: 01 - 01 January - Sorting

Agenda

Sorting Algorithms

Lower Bounds

Preference Aggregation

Page 116: 01 - 01 January - Sorting
Page 117: 01 - 01 January - Sorting

Happy New Year


Recommended