binomial trees
DESCRIPTION
Binomial Trees. Background. A binomial tree is an alternate optimal tree to a perfect binary tree. The Idea. The recursive definition is as follows: A single node is a binomial tree of order h = 0 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/1.jpg)
ECE 250 Algorithms and Data Structures
Douglas Wilhelm Harder, M.Math. LELDepartment of Electrical and Computer EngineeringUniversity of WaterlooWaterloo, Ontario, Canada
© 2006-2013 by Douglas Wilhelm Harder. Some rights reserved.
Binomial Trees
![Page 2: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/2.jpg)
2Binomial trees
Background
A binomial tree is an alternate optimal tree to a perfect binary tree
![Page 3: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/3.jpg)
3Binomial trees
The Idea
The recursive definition is as follows:– A single node is a binomial tree of order h = 0 – A binomial tree B of order h is two binomial trees B1 and B2 of
height h – 1 where• The root of B1 is the root of B, and• B2 is a sub-tree of B1
![Page 4: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/4.jpg)
4Binomial trees
Recursive Definition
Thus, we start with a binomial tree of height 0:
![Page 5: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/5.jpg)
5Binomial trees
Recursive Definition
A binomial tree of height h = 1 is:– A binomial tree of height 0 with a sub-tree of height 0
![Page 6: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/6.jpg)
6Binomial trees
Recursive Definition
A binomial tree of order h = 1:
![Page 7: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/7.jpg)
7Binomial trees
Recursive Definition
A binomial tree of order h = 2 is:– A binomial tree of order 1 with an additional sub-tree of order 1
![Page 8: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/8.jpg)
8Binomial trees
Recursive Definition
Like perfect trees, binomial trees are not defined for three nodes
![Page 9: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/9.jpg)
9Binomial trees
Recursive Definition
A binomial tree of order h = 3 is:– A binomial tree of order 2 with an additional sub-tree of order 2
![Page 10: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/10.jpg)
10Binomial trees
Recursive Definition
A binomial tree of order h = 3 is:– A binomial tree of order 2 with an additional sub-tree of order 2– Here we have 8 nodes
![Page 11: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/11.jpg)
11Binomial trees
Recursive Definition
A binomial tree of order h = 4 is:– A binomial tree of order 3 with an additional sub-tree of order 3
![Page 12: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/12.jpg)
12Binomial trees
Recursive Definition
A binomial tree of order h = 4 is:– A binomial tree of order 3 with an additional sub-tree of order 3– Here we have 16 nodes
![Page 13: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/13.jpg)
13Binomial trees
Recursive Definition
A binomial tree of order h = 5 is:– A binomial tree of order 4 with an additional sub-tree of order 4
![Page 14: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/14.jpg)
14Binomial trees
Recursive Definition
A binomial tree of order h = 5 is:– A binomial tree of order 4 with an additional sub-tree of order 4
![Page 15: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/15.jpg)
15Binomial trees
Recursive Definition
As a last example, a binomial tree of order h = 6 is:– A binomial tree of order 5 with an additional sub-tree of order 5
![Page 16: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/16.jpg)
16Binomial trees
Various Theorems
TheoremA binomial tree of order h has height h
Proof:By induction, a binomial tree of order h = 0 has height 0,Assume it is true that a binomial tree of order h has height h, andA binomial tree of order h + 1 consists of:
• A binomial tree of order h and therefore height h, and• An additional sub-tree of order h and therefore height h
Thus, a binomial tree order h has a height of max(h, h + 1) = h + 1
We will use the terms “order h” and “height h” interchangable
![Page 17: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/17.jpg)
17Binomial trees
Various Theorems
TheoremA binomial tree of height h has 2h nodes
Proof:By induction, a binomial tree of height h = 0 has 1 = 20 nodes,Assume it is true for a binomial tree of height h, andA binomial tree of height h + 1 consists of:
• A binomial tree of height h with 2h nodes, and• An additional sub-tree of height h with 2h additional nodes
Thus, a binomial tree of height h + 1 has 2h = 2h + 1 nodes
![Page 18: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/18.jpg)
18Binomial trees
Various Theorems
CorollaryA binomial tree with n nodes has a height of lg(n)
![Page 19: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/19.jpg)
19Binomial trees
Various Theorems
TheoremA binomial tree of height h has nodes at depth k
Proof:By induction, a binomial tree of height h = 0 has 1 = 20 nodes,Assume it is true for a binomial tree of height h, andA binomial tree of height h + 1 has only one root node and one node at depth h + 1:
The number of nodes at depth k in a tree of height h + 1 has• All the nodes of a binomial tree of height h at depth k, and• All the nodes of a binomial tree of height h at depth k + 1
Thus,
hk
1 11
0 1h h
h
11
h h hk k k
![Page 20: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/20.jpg)
20Binomial trees
Alternate Definition
An alternate definition of a binomial tree is:A binomial tree of height h is a root node and has h sub-trees which are binomial trees of heights 0, 1, 2, …, h – 1
![Page 21: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/21.jpg)
21Binomial trees
Alternate Definition
For example, this binomial tree of height h = 6 has six sub-trees of heights 5, 4, 3, 2, 1 and 0
![Page 22: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/22.jpg)
22Binomial trees
Various Theorems
TheoremThe degree of a root of a binomial tree of height h is h
Proof:This follows trivially from the alternate definition
CorollaryThe degree of the root is lg(n)
![Page 23: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/23.jpg)
23Binomial trees
Various Theorems
TheoremThe root has the maximum degree of any node in a binomial tree
Proof:Every other node is the root of a binomial tree of height less than h and therefore can only have less than h children
![Page 24: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/24.jpg)
24Binomial trees
Applications
We will use binomial trees in two applications:– The worst-case scenario for the depth of a disjoint set data structure– Binomial heaps—very fast priority queues
![Page 25: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/25.jpg)
25Binomial trees
Summary
This topic has covered binomial trees:– A tree of height h with 2h nodes– Same idea as a perfect binary tree– The root has degree h
– There are with nodes at depth khk
![Page 26: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/26.jpg)
26Binomial trees
References
[1] Cormen, Leiserson, Rivest and Stein, Introduction to Algorithms, 2nd Ed., MIT Press, 2001, §19.1, pp.457-9.
[2] Weiss, Data Structures and Algorithm Analysis in C++, 3rd Ed., Addison Wesley, §6.8.1, p.240.
![Page 27: Binomial Trees](https://reader035.vdocuments.net/reader035/viewer/2022062305/5681658f550346895dd85d84/html5/thumbnails/27.jpg)
27Binomial trees
Usage Notes
• These slides are made publicly available on the web for anyone to use
• If you choose to use them, or a part thereof, for a course at another institution, I ask only three things:– that you inform me that you are using the slides,– that you acknowledge my work, and– that you alert me of any mistakes which I made or changes which you
make, and allow me the option of incorporating such changes (with an acknowledgment) in my set of slides
Sincerely,Douglas Wilhelm Harder, [email protected]