# 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 2**^{l}:

^{l}:

**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 = 2

^{0}= 1

Assume that the maximum number of nodes on level ‘l’ is 2^{l}

Since in a Binary tree every node has at most 2 children, the next level would have twice nodes, i.e. 2 * 2^{l}

**2. The** **Maximum number of nodes in a binary tree of height ‘h’ is 2**^{h} – 1:

^{h}– 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 + .. + 2

^{h-1}. This is a simple geometric series with h terms and the sum of this series is 2^{h}– 1.In some books, the height of the root is considered as 0. In this convention, the above formula becomes 2

^{h+1}– 1

**3. In a Binary Tree with N nodes, the minimum possible height or the minimum number of levels is Log**_{2}(N+1):

_{2}(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 2^{h} – 1 nodes (previous property). So the number of nodes will be less than or equal to this maximum value

N <= 2

^{h}– 1

2^{h}>= N+1

log_{2}(2^{h}) >= log_{2}(N+1) (Taking log both sides)

hlog_{2}2 >= log_{2}(N+1) (h is an integer)

h >= | log_{2}(N+1) |So the minimum height possible is | log

_{2}(N+1) |

**4. A Binary Tree with L leaves has at least | Log**_{2}L |+ 1 levels:

_{2}L |+ 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 <= 2

^{l-1}[From Point 1] [Note: Here, consider level of root node as 1]

l = | Log_{2}L | + 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 = 2

^{h-1}(h is height of tree)

No. of internal nodes = {total no. of nodes} – {leaf nodes} = { 2^{h}– 1 } – {2^{h-1}} = 2^{h-1}(2-1) – 1 = 2^{h-1}– 1

So , L = 2^{h-1}^{ }T = 2^{h-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

Loginto comment...