Properties of Binary Tree
In this post, the properties of a binary tree are discussed:
1. The maximum number of nodes at level ‘l’ of a binary tree is 2l:
Note: Here level is the number of nodes on the path from the root to the node (including root and node). The level of the root is 0
This can be proved by induction:
For root, l = 0, number of nodes = 20 = 1
Assume that the maximum number of nodes on level ‘l’ is 2l
Since in a Binary tree every node has at most 2 children, the next level would have twice nodes, i.e. 2 * 2l
2. The Maximum number of nodes in a binary tree of height ‘h’ is 2h – 1:
Note: Here the height of a tree is the maximum number of nodes on the root-to-leaf path. The height of a tree with a single node is considered as 1
This result can be derived from point 2 above. A tree has maximum nodes if all levels have maximum nodes. So the maximum number of nodes in a binary tree of height h is 1 + 2 + 4 + .. + 2h-1. This is a simple geometric series with h terms and the sum of this series is 2h– 1.
In some books, the height of the root is considered as 0. In this convention, the above formula becomes 2h+1 – 1
3. In a Binary Tree with N nodes, the minimum possible height or the minimum number of levels is Log2(N+1):
Each level should have at least one element, so the height cannot be more than N. A binary tree of height ‘h’ can have a maximum of 2h – 1 nodes (previous property). So the number of nodes will be less than or equal to this maximum value
N <= 2h – 1
2h >= N+1
log2(2h) >= log2(N+1) (Taking log both sides)
hlog22 >= log2(N+1) (h is an integer)
h >= | log2(N+1) |So the minimum height possible is | log2(N+1) |
4. A Binary Tree with L leaves has at least | Log2L |+ 1 levels:
A Binary tree has the maximum number of leaves (and a minimum number of levels) when all levels are fully filled. Let all leaves be at level l, then below is valid for the number of leaves L
L <= 2l-1 [From Point 1] [Note: Here, consider level of root node as 1]
l = | Log2L | + 1
where l is the minimum number of levels
5. In a Binary tree where every node has 0 or 2 children, the number of leaf nodes is always one more than nodes with two children:
L = T + 1
Where L = Number of leaf nodes
T = Number of internal nodes with two childrenProof:
No. of leaf nodes (L) i.e. total elements present at the bottom of tree = 2h-1 (h is height of tree)
No. of internal nodes = {total no. of nodes} – {leaf nodes} = { 2h – 1 } – {2h-1} = 2h-1 (2-1) – 1 = 2h-1 – 1
So , L = 2h-1
T = 2h-1 – 1Therefore L = T + 1
Hence proved
6. In a non-empty binary tree, if n is the total number of nodes and e is the total number of edges, then e = n-1:
Every node in a binary tree has exactly one parent with the exception of the root node. So if n is the total number of nodes then n-1 nodes have exactly one parent. There is only one edge between any child and its parent. So the total number of edges is n-1.
Related Articles:
See Handshaking Lemma and Tree for proof
Different types of Binary Trees and their properties
Introduction to Binary Tree in set 1
Please Login to comment...