0% found this document useful (0 votes)
7 views

Tree Ds

tree ds

Uploaded by

msoren07322
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Tree Ds

tree ds

Uploaded by

msoren07322
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

DSA Data Structures Array String Linked List Stack Queue Tree Binary Tree Binary Sea

Properties of Binary Tree


Last Updated : 14 Mar, 2024
In this post, the properties of a binary tree are discussed:

Binary tree representation

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
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Got It !
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 0]
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 children

Proof:

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 – 1

Therefore 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

Are you looking to bridge the gap from Data Structures and
Algorithms (DSA) to Software Development? Dive into our DSA to
Development - Beginner to Advance Course on GeeksforGeeks,
crafted for aspiring developers and seasoned programmers alike.
Explore essential coding skills, software engineering principles, and
practical application techniques through hands-on projects and real-
world examples. Whether you're starting your journey or aiming to
refine your skills, this course empowers you to build robust software
solutions. Ready to advance your programming prowess? Enroll now
and transform your coding capabilities!

GeeksforGeeks 722

Previous Article Next Article


Introduction to Binary Tree Applications, Advantages and
Disadvantages of Binary Tree

Similar Reads
Complexity of different operations in Binary tree, Binary Search Tr…
In this article, we will discuss the complexity of different operations in
binary trees including BST and AVL trees. Before understanding this…
4 min read

Convert a Binary Tree into its Mirror Tree (Invert Binary Tree)
Given a binary tree, the task is to convert the binary tree into its Mirror
tree. Mirror of a Binary Tree T is another Binary Tree M(T) with left and…
15+ min read

Convert a Generic Tree(N-array Tree) to Binary Tree


Prerequisite: Generic Trees(N-array Trees) In this article, we will discuss
the conversion of the Generic Tree to a Binary Tree. Following are the…
13 min read

Convert a Binary Tree to Threaded binary tree | Set 1 (Using Queue)


We have discussed Threaded Binary Tree. The idea of threaded binary
trees is to make inorder traversal faster and do it without stack and…
12 min read

Check whether a binary tree is a full binary tree or not | Iterative…


Given a binary tree containing n nodes. The problem is to check whether
the given binary tree is a full binary tree or not. A full binary tree is…
8 min read

View More Articles

Article Tags : DSA Tree

Practice Tags : Tree


Corporate & Communications Address:- A-
143, 9th Floor, Sovereign Corporate Tower,
Sector- 136, Noida, Uttar Pradesh (201305)
| Registered Address:- K 061, Tower K,
Gulshan Vivante Apartment, Sector 137,
Noida, Gautam Buddh Nagar, Uttar
Pradesh, 201305
Company Languages
About Us Python
Legal Java
In Media C++
Contact Us PHP
Advertise with us GoLang
GFG Corporate Solution SQL
Placement Training Program R Language
GeeksforGeeks Community Android Tutorial
Tutorials Archive

DSA Data Science & ML


Data Structures Data Science With Python
Algorithms Data Science For Beginner
DSA for Beginners Machine Learning Tutorial
Basic DSA Problems ML Maths
DSA Roadmap Data Visualisation Tutorial
Top 100 DSA Interview Problems Pandas Tutorial
DSA Roadmap by Sandeep Jain NumPy Tutorial
All Cheat Sheets NLP Tutorial
Deep Learning Tutorial

Web Technologies Python Tutorial


HTML Python Programming Examples
CSS Python Projects
JavaScript Python Tkinter
TypeScript Web Scraping
ReactJS OpenCV Tutorial
NextJS Python Interview Question
Bootstrap Django
Web Design

Computer Science DevOps


Operating Systems Git
Computer Network Linux
Database Management System AWS
Software Engineering Docker
Digital Logic Design Kubernetes
Engineering Maths Azure
Software Development GCP
Software Testing DevOps Roadmap

System Design Inteview Preparation


High Level Design Competitive Programming
Low Level Design Top DS or Algo for CP
UML Diagrams Company-Wise Recruitment Process
Interview Guide Company-Wise Preparation
Design Patterns Aptitude Preparation
OOAD Puzzles
System Design Bootcamp
Interview Questions

School Subjects GeeksforGeeks Videos


Mathematics DSA
Physics Python
Chemistry Java
Biology C++
Social Science Web Development
English Grammar Data Science
Commerce CS Subjects
World GK

@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved

You might also like