Tree Ds
Tree Ds
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
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) |
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
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.
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
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