Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Auto-generated Presentation

Similar presentations


Presentation on theme: "An Auto-generated Presentation"— Presentation transcript:

1 An Auto-generated Presentation
Heapsort An Auto-generated Presentation

2 First, heapsort must build a heap
A ‘heap’ is a tree wherein each node is of a value equal to or less than its parent. Additionally, a ‘binary tree’ is used, which adds the constraint that no parent may have more than two nodes; this allows heapsort to run within its own array, without additional space complexity. Each limb is passed through in reverse order, if the largest child is larger than the parent, they are swapped

3 First, heapsort must build a heap
4 7 43 98 38 98 75 66 7 94 80 12 12 33 66 31 8 25 43 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 38 75 66 94 80 33 31 25

4 First, heapsort must build a heap
4 7 43 98 38 98 75 66 7 94 80 12 12 33 66 31 8 25 43 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 38 75 66 94 80 33 31 25

5 First, heapsort must build a heap
4 7 43 98 38 98 75 66 43 94 80 12 12 33 66 31 8 25 7 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 38 75 66 94 80 33 31 25

6 First, heapsort must build a heap
4 7 43 98 38 98 75 66 43 94 80 12 12 33 66 31 8 25 7 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 38 75 66 94 80 33 31 25

7 First, heapsort must build a heap
4 7 43 98 38 98 75 66 43 94 80 12 12 33 66 31 8 25 7 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 38 75 66 94 80 33 31 25

8 First, heapsort must build a heap
4 7 43 98 38 98 75 66 43 94 80 12 12 33 66 31 8 25 7 43 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 38 75 66 94 80 33 31 25

9 First, heapsort must build a heap
4 7 43 98 94 98 75 66 43 43 80 12 12 33 66 31 8 25 7 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 94 75 66 80 33 31 25 38

10 First, heapsort must build a heap
4 7 43 98 94 98 75 66 43 43 80 12 12 33 66 31 8 25 7 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 98 94 75 66 80 33 31 25 38

11 First, heapsort must build a heap
4 7 98 98 94 43 75 66 43 43 80 12 12 33 66 31 8 25 7 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 98 94 43 75 66 80 33 31 25 38

12 First, heapsort must build a heap
4 98 98 66 94 43 75 31 43 43 80 12 12 33 66 7 8 25 7 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 98 66 94 43 75 31 80 33 25 38

13 First, heapsort must build a heap
98 94 98 66 80 43 75 31 43 43 4 12 12 33 66 7 8 25 7 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 98 94 66 80 43 75 31 33 25 38

14 The finished heap 98 94 98 66 80 43 75 31 43 43 4 12 12 33 66 7 8 25 7 38 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 98 94 66 80 43 75 31 33 25 38

15 Now, heapsort can sort the array
At this point heapsort functions much like a ‘reverse’ selection sort, only ‘selecting’ is hardly necessary; it knows exactly where the largest values are: at the top of the heap! The first in the array is swapped with the last unsorted number, and the heap rebuilds itself.

16 Now, heapsort can sort the array
38 94 98 66 80 43 75 31 43 43 4 12 12 33 66 7 8 25 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 38 94 98 66 80 43 75 31 33 25

17 Now, heapsort can sort the array
98 94 75 66 80 43 66 31 43 43 4 12 12 33 38 7 8 25 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 98 94 75 66 80 43 31 33 38 25

18 Now, heapsort can sort the array
7 94 75 66 80 43 66 31 43 43 4 12 12 33 38 7 8 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 94 75 66 80 43 31 33 38 25 98

19 Now, heapsort can sort the array
94 80 75 66 43 43 66 31 43 7 4 12 12 33 38 7 8 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 94 80 75 66 43 31 33 38 25 98

20 Now, heapsort can sort the array
25 80 75 66 43 43 66 31 43 7 4 12 12 33 38 7 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 80 75 66 43 31 33 38 94 98

21 Now, heapsort can sort the array
80 66 75 43 43 43 66 31 25 7 4 12 12 33 38 7 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 80 66 75 43 31 25 33 38 94 98

22 Now, heapsort can sort the array
8 66 75 43 43 43 66 31 25 7 4 12 12 33 38 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 66 75 43 31 25 33 38 80 94 98

23 Now, heapsort can sort the array
75 66 66 43 43 43 38 31 25 7 4 12 12 33 8 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 75 66 43 38 31 25 33 80 94 98

24 Now, heapsort can sort the array
7 66 66 43 43 43 38 31 25 7 4 12 12 33 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 66 43 38 31 25 33 75 80 94 98

25 Now, heapsort can sort the array
66 43 66 31 43 43 38 7 25 7 4 12 12 33 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 66 43 31 38 25 33 75 80 94 98

26 Now, heapsort can sort the array
8 43 66 31 43 43 38 7 25 7 4 12 12 33 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 66 31 38 25 33 75 80 94 98

27 Now, heapsort can sort the array
66 43 43 31 43 12 38 7 25 7 4 8 12 33 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 66 43 31 38 25 33 75 80 94 98

28 Now, heapsort can sort the array
33 43 43 31 43 12 38 7 25 7 4 8 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 33 43 31 38 25 66 75 80 94 98

29 Now, heapsort can sort the array
43 43 43 31 33 12 38 7 25 7 4 8 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 31 33 38 25 66 75 80 94 98

30 Now, heapsort can sort the array
12 43 43 31 33 12 38 7 25 7 4 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 31 33 38 25 66 75 80 94 98

31 Now, heapsort can sort the array
43 33 43 31 12 12 38 7 25 7 4 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 33 31 38 25 66 75 80 94 98

32 Now, heapsort can sort the array
8 33 43 31 12 12 38 7 25 7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 33 43 31 38 25 66 75 80 94 98

33 Now, heapsort can sort the array
43 33 38 31 12 12 8 7 25 7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 43 33 38 31 25 66 75 80 94 98

34 Now, heapsort can sort the array
4 33 38 31 12 12 8 7 25 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 33 38 31 25 43 66 75 80 94 98

35 Now, heapsort can sort the array
38 33 12 31 12 4 8 7 25 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 38 33 31 25 43 66 75 80 94 98

36 Now, heapsort can sort the array
7 33 12 31 12 4 8 7 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 33 31 25 38 43 66 75 80 94 98

37 Now, heapsort can sort the array
33 31 12 25 12 4 8 7 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 33 31 25 38 43 66 75 80 94 98

38 Now, heapsort can sort the array
7 31 12 25 12 4 8 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 31 25 33 38 43 66 75 80 94 98

39 Now, heapsort can sort the array
31 25 12 7 12 4 8 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 31 25 33 38 43 66 75 80 94 98

40 Now, heapsort can sort the array
7 25 12 7 12 4 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

41 Now, heapsort can sort the array
25 12 12 7 7 4 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

42 Now, heapsort can sort the array
8 12 12 7 7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

43 Now, heapsort can sort the array
12 8 12 7 7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

44 Now, heapsort can sort the array
4 8 12 7 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

45 Now, heapsort can sort the array
12 8 4 7 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

46 Now, heapsort can sort the array
7 8 4 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

47 Now, heapsort can sort the array
8 7 4 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

48 Now, heapsort can sort the array
7 7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

49 Now, heapsort can sort the array
7 7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

50 Now, heapsort can sort the array
4 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

51 Now, heapsort can sort the array
7 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

52 Now, heapsort can sort the array
4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

53 The array is now sorted! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 31 33 38 43 66 75 80 94 98

54 Further information… Heapsort has similar problem complexity as mergesort, but is often preferred due to its better space complexity. While on most architecture, depending on optimizations, quicksort performs better, heapsort has a much preferable worst case complexity. Worst case performance Θ(nlog n) Best case performance Θ(nlog n) Average case performance Θ(nlog n) Worst case space complexity Θ(n)

55 Purpose and Acknowledgement
This set of slides were automatically generated by a generator piloted by Erik Williams when he worked on a novel computer science homework which was designed to also contribute to an ongoing project conducted at SUNY Oneonta. This slides are intended to facilitate the teaching effort of Heapsort. Feel free to polish the slides as you like as long as our effort can be properly acknowledged. For more data structures and algorithms teaching materials, feel free to visit the website of our on-going project. A Platform for PowerPoint Presentation based Teaching Materials of Data Structures and Algorithms Your comments and spiritual support will be most appreciated. Contact information can be found from the above website.


Download ppt "An Auto-generated Presentation"

Similar presentations


Ads by Google