# 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.

### Some extra properties of binary tree are:

**Each node in a binary tree can have at most two child nodes:**In a binary tree, each node can have either zero, one, or two child nodes. If a node has zero children, it is called a leaf node. If a node has one child, it is called a unary node. If a node has two children, it is called a binary node.**The node at the top of the tree is called the root node:**The root node is the first node in a binary tree and all other nodes are connected to it. All other nodes in the tree are either child nodes or descendant nodes of the root node.**Nodes that do not have any child nodes are called leaf nodes:**Leaf nodes are the endpoints of the tree and have no children. They represent the final result of the tree.**The height of a binary tree is defined as the number of edges from the root node to the deepest leaf node:**The height of a binary tree is the length of the longest path from the root node to any of the leaf nodes. The height of a binary tree is also known as its depth.**In a full binary tree, every node except the leaves has exactly two children**: In a full binary tree, all non-leaf nodes have exactly two children. This means that there are no unary nodes in a full binary tree.**In a complete binary tree, every level of the tree is completely filled except for the last level, which can be partially filled:**In a complete binary tree, all levels of the tree except the last level are completely filled. This means that there are no gaps in the tree and all nodes are connected to their parent nodes.**In a balanced binary tree, the height of the left and right subtrees of every node differ by at most 1:**In a balanced binary tree, the height of the left and right subtrees of every node is similar. This ensures that the tree is balanced and that the height of the tree is minimized.**The in-order, pre-order, and post-order traversal of a binary tree are three common ways to traverse the tree**: In-order, pre-order, and post-order are three different ways to traverse a binary tree. In-order traversal visits the left subtree, the node itself, and then the right subtree. Pre-order traversal visits the node itself, the left subtree, and then the right subtree. Post-order traversal visits the left subtree, the right subtree, and then the node itself.

#### Related Articles:

See Handshaking Lemma and Tree for proof

Different types of Binary Trees and their properties

Introduction to Binary Tree in set 1