Full Binary Tree

Last Updated : 25 Aug 2026

A Full Binary Tree is an important type of binary tree in which every node has either zero or two children. It is also known as a Proper Binary Tree, Strict Binary Tree, or 2-Tree. In this chapter, we will learn the definition, properties, and important theorems of a Full Binary Tree, along with the relationships between internal nodes, leaf nodes, and total nodes.

This chapter covers What is a Full Binary Tree, Properties of a Full Binary Tree, Full Binary Tree Theorems, Relationship Between Internal and Leaf Nodes, Relationship Between Internal and Total Nodes, and Maximum Nodes in a Binary Tree.

What is a Full Binary Tree?

A Full Binary Tree is a binary tree in which every node has either zero or two children. Therefore, no node in a Full Binary Tree has exactly one child. Nodes having two children are called internal nodes, while nodes having no children are called leaf nodes. For example, if a tree contains a root node with two children and each child either has two children or no children, the tree is a Full Binary Tree.

Full Binary Tree

Properties of a Full Binary Tree

A Full Binary Tree follows several important mathematical relationships. If a non-empty Full Binary Tree contains I internal nodes, L leaf nodes, and N total nodes, then the number of leaf nodes is L = I + 1. The total number of nodes is N = 2I + 1, while the number of internal nodes can be calculated as I = (N - 1) / 2. Similarly, the number of leaf nodes can be calculated using L = (N + 1) / 2, and the number of internal nodes can also be expressed as I = L - 1. The total number of nodes can therefore be calculated as N = 2L - 1.

Full Binary Tree Theorems

Let I represent the number of internal nodes, N represent the total number of nodes, L represent the total number of leaf nodes, and λ represent the number of levels in the tree. In a Full Binary Tree, the number of leaf nodes is I + 1, and the total number of nodes is 2I + 1. The number of internal nodes is (N - 1) / 2, while the number of leaf nodes is (N + 1) / 2. Similarly, when the number of leaf nodes is known, the total number of nodes is 2L - 1, and the number of internal nodes is L - 1.

Maximum Nodes in a Binary Tree

For a binary tree containing λ levels, the maximum possible number of nodes is 2^λ - 1. The maximum possible number of leaf nodes at the last level is 2^(λ - 1). These formulas are useful when determining the maximum size of a binary tree based on its number of levels.

Implementation of Full Binary Tree in Python/ Java/ C/ C++/ C#

Python

Execute Now

Java

Compile and Run

C

Compile and Run

C++

Compile and Run

C#

Compile and Run

Output:

Preorder Traversal of Full Binary Tree:
1 2 4 5 3 6 7

Full Binary Tree Vs. Complete Binary Tree

  1. A node in the last level of a complete binary tree can only have one child.
  2. A full binary tree cannot contain a single child at each node.
  3. In a full binary tree, the node should be filled from left to right.
  4. A full binary tree has nodes that can be filled in any order.
  5. Heap-based data structures often used in complete binary trees.
  6. There are no applications for full binary trees, often called proper binary trees.
  7. An almost complete binary tree is another term for a complete binary tree.
  8. A full binary tree is often referred to as a 2-tree or a proper binary tree.
  9. The full leaves node is required to have a complete binary tree.