Topics to be discussed Trees Data Structures Trees Binary Search Trees Tree traversal Types of Binary Trees Threaded binary trees Applications Trees Data Structures Tree Nodes Each node can have 0 or more ID: 564023
Download Presentation The PPT/PDF document "Tree Data Structures" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Tree Data StructuresSlide2
Topics to be discussed….
Trees Data Structures
Trees
Binary Search Trees
Tree traversal
Types of Binary Trees
Threaded binary trees
Applications Slide3
Trees Data Structures
Tree
Nodes
Each node can have 0 or more
childrenA node can have at most one parentBinary treeTree with 0–2 children per node
Tree
Binary Tree
backSlide4
Trees
Terminology
Root
no parentLeaf
no childInterior
non-leafHeight
distance from root to leaf
Root node
Leaf nodes
Interior nodes
HeightSlide5
Level and Depth
Level
1
2
3
4
node
(13)
degree of a nodeleaf (terminal)
Non terminalparent
childrensiblingdegree of a tree
(3)
ancestorlevel of a nodeheight of a tree
(4)
3
2
1
3
2
0
0
1
0
0
0
0
0
1
2
2
2
3
3
3
3
3
3
4
4
4Slide6
Arithmetic Expression Using BT
+
*
A
*
/
E
D
C
B
inorder traversal
A / B * C * D + E
infix expression
preorder traversal
+ * * / A B C D E
prefix expression
postorder traversal
A B / C * D * E +
postfix expression
level order traversal
+ * E * D / C A B
backSlide7
Binary Search Trees
Key property
Value at node
Smaller values in left
subtreeLarger values in right subtreeExample
X
> Y
X <
Z
Y
X
Z
backSlide8
Tree traversal
Two types of tree traversal are;
Recursive
Non recursive
backSlide9
Preorder: node, left, right
Inorder
: left, node, right
Postorder
: left, right, nodeRecursive traversal
backSlide10
In this stack is used to implement the non recursive traversal.
All nodes first put into the stack and then each node is processed according to traversal.
Non recursive traversal
backSlide11
Binary Search Trees
Binary search trees
Not a binary search tree
5
10
30
2
25
45
5
10
45
2
25
30
5
10
30
2
25
45Slide12
Example Binary
Searches
Find (root, 25 )
5
10
30
2
25
45
5
10
30
2
25
45
10 < 25, right
30 > 25, left
25 = 25, found
5 < 25, right
45 > 25, left
30 > 25, left
10 < 25, right
25 = 25, foundSlide13
Types of Binary Trees
Degenerate – only one child
Complete – always two children
Balanced – “mostly” two children
more formal definitions exist, above are intuitive ideas
Degenerate binary tree
Balanced binary tree
Complete binary tree
backSlide14
Threaded Binary Trees
Two many null pointers in current representation
of binary trees
n: number of nodes
number of non-null links: n-1 total links: 2n
null links: 2n-(n-1)=n+1
Replace these null pointers with some useful “threads”.
backSlide15
Pre-order traversal while duplicating nodes and values can make a complete duplicate of a
binary tree
. It can also be used to make a prefix expression (
Polish notation
) from expression trees: traverse the expression tree pre-orderly.In-order traversal is very commonly used on binary search trees because it returns values from the underlying set in order, according to the comparator that set up the binary search tree (hence the name).
Post-order traversal while deleting or freeing nodes and values can delete or free an entire binary tree. It can also generate a postfix
representation of a binary tree.
Applications
backSlide16
Thank You