MIT ADT UNIVERSITY- PUNE
PRESENTED BY:
ASHUTOSH SRIVASTAVA
B.TECH 2nd
Year ,3rd
SEMESTER
(ADT24SOCB0244)
Binary tree
2.
Binary tree
A binarytree is simply a tree in which each node can have at
most two children. It may be 0, 1 or 2.
Root node
left sub tree
Right sub tree
Binary Tree
CONTINUED…..
Left Child: Thenode on the left of any node is called left child.
Right child: The node on the right of any node is called
right child.
Left Sub tree: sub tree attached to left side of root node is called
left sub tree.
Right Sub tree: sub tree attached to right side of root node
is called right sub tree.
The node of a binary tree is divided into three parts :
Left child
Address
Left Info Right Right child Address
5.
Linked Representation
Ptr ->Info = Data
Ptr -> Left = Left Child
Ptr -> Right = Right Child
A
B C
11
3
2
D E
5
4
F G
7
6
Left Info Right
Binary tree Representation using Linked List
y
Types of BinaryTree
Full Binary Tree Complete Binary Tree
A
B
G
C
D E F
A
B C
D E
• All nodes (except leaf)
have two children.
• Each subtree has same
length of path.
• All nodes (except leaf)
have two children.
• Each subtree can has
different length of
path.
8.
Binary search tree
Abinary Search Tree is special kind if tree that
satisfied the following conditions
• If value of inserted node is bigger than parent
then it will be right subtree.
• If value of inserted node is smaller than parent
then it will be left subtree.
• This tree is known as binary search tree or
ordered binary tree.
• It used for searching
9.
Construction of binarySearch Tree (BST)
1. Construction of binary Search Tree (BST)
Step.1: Initially tree is empty ,place the first element at the root.
Step.2: Compare the next element with root
if element is grater than or equal to root then place it in
right child position.
else
place it in the left child position.
Step.3: Repeat the process (step 2) for
the next element until end of elements or nodes.
10.
ALGORITHM FOR SEARCHINGIN
BST
Algorithm :
Search BST(key,targetkey)
1) START
2) If root==NULL
3) Return value not found
4) End if
5) If(target key<root)
6) Return searchBST (leftsubtree, targetkey)
7) else if(targetkey > root)
8) Return searchBST (rightsubtree, targetkey)
9) ELSE
10)FOUND target key
11)Return root
12)End if
13)End SearchBST
11.
Example of searchingin BST
52
20 35
12
E.g. if we have to search 12 than go to left sub
tree
23
18 44
12.
Binary Search Tree(INSERTION)
• For inserting data in binary tree two
conditions we have to face -:
1. IF tree is empty than insert to a new node make them root node.
2. If tree is not empty than all inserts take place at a leaf or at a
• leaf like node (a tree that has only one NULL subtree
13.
Example of insertionin BST
23
44
18
52
20 35
12
23
44
18
52
20 35
12
Before insertion
19
After insertion
14.
Binary Search Tree(INSERTION)
Algorithm
1.START
2. If root==NULL
3. Root=newnode
4. If (newnode<root)
5. Return addBST(leftsubtree,newnode)
6. ELSE
7. Return addBST(rightsubtree,newnode)
8. End if
9. End addBST
15.
Traversal ofa binary tree is to access every node of binary
tree at most once
• Tree traversal ways
a)Pre Order
b)In Order
c)Post Order
BST Traversal
16.
1. start
2. Visitroot
3. Visit left sub-tree
4. Visit right sub-tree
5. stop
5
2 1
3 8
9
7
5 2 1 3 7 9 8
Preorder
start
Left sub
tree
Right sub
tree
17.
1. Visit leftsub-tree
2. Visit root
3. Visit right sub-tree
5
2
2 1 3 5 7 9 8
Inorder
1
3 8
9
7
Right sub
tree
When we deletea node, we need to consider
how we take care of the children of the deleted
node.
DELETE NODE
20.
Three cases:
(1) thenode is a leaf
Delete it immediately
(2) the node has one child
Adjust a pointer from the parent to bypass that node
Delete Cont…..
21.
3)the node has2 children
replace the key of that node with the
minimum element at the right sub tree
delete the minimum element
Has either no child or only right child because
if it has a left child, that left child would be
smaller and would have been chosen. So
invoke case 1or 2.
22.
Binary tree Applications
File System(storing naturally hierarchical
data)
Organize data(searching,insertion,deletion
Binary search tree used for this purpose
Telephone dictionary
Arithmetic operations
Network routing etc