heap examples-2mimoza.marmara.edu.tr/~gozde.alp/cse225/ps/2014spring/ps...remember non recursive...
TRANSCRIPT
![Page 1: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/1.jpg)
HEAP EXAMPLES-2 14 May-16 May 2014
Ps-Gözde ALP
1
![Page 2: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/2.jpg)
• Remember…
2
![Page 3: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/3.jpg)
Leftist
3
Example 1: Consider the heap below is it leftist?
![Page 4: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/4.jpg)
Leftist
4
7
8 16
21 12
4
11 19
17 46 25
Example 2: Consider the heaps below are they leftist?
0 0 0 0 0
0 0 1 1
1 1
![Page 5: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/5.jpg)
Leftist- Recursive Merging
5
7
8 16
21 12
4
11 19
17 46 25
Example 3: Recursively merge the two leftist heaps showing each immediate
step.
Compare
![Page 6: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/6.jpg)
6
7
8 16
21 12
4
11 19
17 46 25
Compare
![Page 7: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/7.jpg)
7
7
8 16
21 12
4
11
19 17 46
25
Compare
![Page 8: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/8.jpg)
8
7
8 16
21 12
4
11
19
17 46
25
![Page 9: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/9.jpg)
Leftist - Recursive Merging 9
Example 4: Recursively merge the two leftist heaps showing each immediate
step.
![Page 10: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/10.jpg)
10
![Page 11: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/11.jpg)
11
![Page 12: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/12.jpg)
12
![Page 13: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/13.jpg)
Leftist – Nonrecursive Merging 13
Example 5: Non recursively merge the two leftist heaps showing each
immediate step.
![Page 14: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/14.jpg)
Remember Non recursive Merging Algorithm
Requires 2 passes on the heap:
First pass: Create a new tree by merging
the right paths of both heaps in sorted order
Second pass: Perform child swaps at
nodes that violate the leftist heap property.
14
![Page 15: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/15.jpg)
15
3 8 6 7 18 SORT 3 6 7 8 18
![Page 16: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/16.jpg)
16
Heaps
First pass
![Page 17: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/17.jpg)
17
First pass
Second pass
![Page 18: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/18.jpg)
Binomial Trees
18
Useful properties of order k binomial tree Bk.
• Number of nodes = 2𝑘.
• Height = k.
• Degree of root = k.
• Deleting root yields binomial trees B k-1 , … , B0.
The binomial trees B0 through B4. Node depths in B4 are shown. below
![Page 19: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/19.jpg)
19
![Page 20: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/20.jpg)
Binomial Heaps
20
Example 6: What is the Node number, tree number, height and the binary
equivalent of the following tree.
![Page 21: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/21.jpg)
21
![Page 22: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/22.jpg)
22
Example 7: Merge the following binomial trees and show the result.
![Page 23: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/23.jpg)
23
![Page 24: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/24.jpg)
24
+
Example 8: Merge the following binomial heaps and show the result step by
step.
![Page 25: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/25.jpg)
25
![Page 26: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/26.jpg)
26
Example 9: Delete the node with minimum key in binomial heap H and show
the result.
![Page 27: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/27.jpg)
27
H ← Union(H’, H)
![Page 28: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/28.jpg)
28
Example 10: If x=11 insert x into the following heap and show the result.
![Page 29: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/29.jpg)
29
Example 11: How many binomial trees are there in a binomial heap with n
element?
a. At least
b. At most
![Page 30: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/30.jpg)
30
Example 11: How many binomial trees are there in a binomial heap with n
element?
a. At least
b. At most
![Page 31: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/31.jpg)
31
Example 12: How many binomial trees are there in a binomial heap with n
element?
If n is equal to 4378
![Page 32: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/32.jpg)
32
Example 12: How many binomial trees are there in a binomial heap with n
element?
If n is equal to 4378
4378=4096 + 256 + 16 + 8 + 2
4378=212+ 28 + 24 + 23 + 21
4378= 𝐵12 + 𝐵8 + 𝐵4 + 𝐵3 + 𝐵1
![Page 33: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/33.jpg)
33
Example 13: How many leaves does a binomial tree with n elements have?
![Page 34: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/34.jpg)
34
Example 14: Where and how many nodes would you search to find the max
key in a binomial tree Bi confirming to the min-heap order property?
![Page 35: HEAP EXAMPLES-2mimoza.marmara.edu.tr/~gozde.alp/cse225/PS/2014Spring/Ps...Remember Non recursive Merging Algorithm Requires 2 passes on the heap: First pass: Create a new tree by merging](https://reader036.vdocument.in/reader036/viewer/2022080718/5f78a5b75d3c006b12149325/html5/thumbnails/35.jpg)
References
35
https://courses.cs.washington.edu/courses/cse326/00wi/handouts/lecture7/sld0
18.htm
http://www.cs.princeton.edu/~wayne/cs423/lectures/heaps-4up.pdf
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, “Introduction to Algorithms,”
2nd edition, MIT Press, 2003