2. TREES
SESSION OUTLINE:
• TREE
• BINARY TREE
• TREES TRAVERSAL
• BINARY SEARCH TREE
• INSERTION AND DELETION IN BINARY SEARCH TREE
• AVL TREE
3. TREES
• TREE DATA STRUCTURE IS MAINLY USED
TO REPRESENT DATA CONTAINING A
HIERARCHICAL RELATIONSHIP BETWEEN
ELEMENTS .
4. TREES
• COLLECTION OF NODESOR
FINITE SET OF NODES
• THIS COLLECTION CAN BE EMPTY.
• DEGREE OF A NODE IS NUMBER OF NODES
CONNECTED TO A PARTICULAR NODE.
6. • A PATH FROM NODE N1 TO NK IS
DEFINED AS A SEQUENCE OF
NODES N1, N2, …….., NK.
• THE LENGTH OF THIS PATH IS THE
NUMBER OF EDGES ON THE PATH.
• THERE IS A PATH OF LENGTH ZERO
FROM EVERY NODE TO ITSELF.
• THERE IS EXACTLY ONE PATH
FROM THE ROOT TO EACH NODE IN
A TREE.
TREES
7. • HEIGHTOF A NODE IS THE LENGTH OF A
LONGEST PATH FROM THIS NODE TO A LEAF
• ALL LEAVES ARE AT HEIGHT ZERO
• HEIGHT OF A TREE IS THE HEIGHT OF ITS ROOT
(MAXIMUM LEVEL)
TREES
8. • DEPTHOF A NODE IS THE LENGTH OF PATH
FROM ROOT TO THIS NODE
• ROOT IS AT DEPTH ZERO
• DEPTH OF A TREE IS THE DEPTH OF ITS
DEEPEST LEAF THAT IS EQUAL TO THE
HEIGHT OF THIS TREE
TREES
10. FULL BINARY TREE
A binary tree is said to
be full if all its leaves
are at the same level
and every internal node
has two
children.
The full binary tree of
height h has
l = 2h
leaves
and
m = 2h
– 1 internal
nodes.
11. COMPLETE BINARY TREE
A complete binary tree is
either a full binary tree or one
that is full except for a
segment of missing leaves
on the right side of the
bottom level.
12. PICTURE OF A BINARY TREE
a
b c
d e
g h i
l
f
j k
24. IN LINKED LIST REPRESENTATION
EACH NODE HAS THREE FIELDS:-
DATA PART
ADDRESS OF THE LEFT SUBTREE.
ADDRESS OF THE RIGHT SUBTREE
25. EXTENDED BINARY TREE
A BINARY TREE CAN BE CONVERTED TO AN EXTENDED BINARY
TREE BY ADDING NEW NODES TO ITS LEAF NODES AND TO
THE NODES THAT HAVE ONLY ONE CHILD. THESE NEW NODES
ARE ADDED IN SUCH A WAY THAT ALL THE NODES IN
RESULTANT TREE HAVE ZERO OR TWO CHILDREN.
IT IS ALSO KNOWN AS 2-TREE.THE NODES OF THE ORIGINAL
TREE ARE CALLED INTERNAL NODES.
NEW NODES THAT ARE ADDED TO BINARY TREE ,TO MAKE IT
AN EXTENDED BINARY TREE ARE CALLED EXTERNAL NODES.
25
27. Binary Search tree
It is a tree that may be empty.
and non-empty binary Search tree satisfies the
following properties :-
(1)Every element has a key or value and no two
elements have the same key that is all keys are
unique.
(2) The keys if any in the left sub tree of the root
are smaller than the key in the node.
(3) The keys if any in the right sub tree of the root
are larger than the key in the node.
(4) Left and Right sub trees of the root are also
binary search tree.
28. Example of the Binary Search Tree :-
The input list is
20 17 6 8 10 7 18 13 12 5
20
17
6 18
5
8
7 10
13
12
36. CASES FOR DELETION
• IF NODE HAS NO SPECIFIC DATA OR NO CHILD
• IF NODE HAS ONLY LEFT CHILD.
• IF NODE HAS ONLY RIGHT CHILD
• IF NODE HAS TWO CHILDREN
37. CASE 1
• IF NODE TO BE DELETED HAS NO CHILD
IF (( X->LEFT == NULL) && (X->RIGHT == NULL))
{
• IF ( PARENT ->RIGHT == X)
• PARENT -> RIGHT = NULL;
• ELSE
• PARENT -> LEFT = NULL;
• FREE (X);
}
40. CASE 2
IF NODE TO BE DELETED HAS ONLY RIGHT CHILD
IF (( X-> LEFT==NULL) && (X-> RIGHT !=NULL))
{
• IF (PARENT -> LEFT == X)
• PARENT ->LEFT = X-> RIGHT;
• ELSE
• PARENT ->RIGHT = X-> RIGHT;
• FREE (X);
}
41. 180 14 200 X 15 X
X 16 220 X 18 X
X 17 X
parent
X
43. CASE 3
IF NODE HAS ONLY LEFT CHILD
IF((X->LEFT!=NULL)&&(X->RIGHT==NULL))
{
IF (PARENT->LEFT==X)
PARENT->LEFT=X->LEFT;
ELSE
PARENT->RIGHT->X->LEFT;
FREE(X);
}
44. 180 14 200 X 15 X
X 16 X
220 18 X
X 17 X
parent
X
46. CASE 4
IF NODE TO BE DELETED HAS TWO CHILDREN
IF((X-> LEFT !=NULL) && (X-> RIGHT!=NULL))
{ PARENT = X;
XSUCC= X->RIGHT;
WHILE (XSUCC->LEFT!=NULL)
{
PARENT = XSUCC;
XSUCC =XSUCC-> LEFT;
}
X->DATA = XSUCC->DATA;
X=XSUCC }
47. X 15 X 180 14 200
X 16 X
240 18 220
X 17 X X 19 X
parent
X
XSUCC