SlideShare a Scribd company logo
Binary Tree Traversal Methods 
• In a traversal of a binary tree, each element of 
the binary tree is visited exactly once. 
• During the visit of an element, all action (make 
a clone, display, evaluate the operator, etc.) 
with respect to this element is taken.
Binary Tree Traversal Methods 
• Preorder 
• Inorder 
• Postorder 
• Level order
Preorder Traversal 
public static void preOrder(BinaryTreeNode t) 
{ 
if (t != null) 
{ 
visit(t); 
preOrder(t.leftChild); 
preOrder(t.rightChild); 
} 
}
Preorder Example (visit = print) 
a 
b c 
a b c
Preorder Example (visit = print) 
a 
b c 
d e f 
g h i j 
a b d g h e i c f j
Preorder Of Expression Tree 
+ 
a b 
- 
c d 
+ 
e f 
* 
/ 
/ * + a b - c d + e f 
Gives prefix form of expression!
Inorder Traversal 
public static void inOrder(BinaryTreeNode t) 
{ 
if (t != null) 
{ 
inOrder(t.leftChild); 
visit(t); 
inOrder(t.rightChild); 
} 
}
Inorder Example (visit = print) 
a 
b c 
b a c
Inorder Example (visit = print) 
a 
b c 
d e f 
g h i j 
g d h b e i a f j c
Inorder By Projection (Squishing) 
a 
b c 
d e f 
g h i j 
g d h b e i a f j c
Inorder Of Expression Tree 
+ 
a b 
- 
c d 
+ 
e f 
* 
/ 
a + b * c - d / e + f 
Gives infix form of expression (sans parentheses)!
Postorder Traversal 
public static void postOrder(BinaryTreeNode t) 
{ 
if (t != null) 
{ 
postOrder(t.leftChild); 
postOrder(t.rightChild); 
visit(t); 
} 
}
Postorder Example (visit = print) 
a 
b c 
b c a
Postorder Example (visit = print) 
a 
b c 
d e f 
g h i j 
g h d i e b j f c a
Postorder Of Expression Tree 
+ 
a b 
- 
c d 
+ 
e f 
* 
/ 
a b + c d - * e f + / 
Gives postfix form of expression!
Traversal Applications 
a 
b c 
d e f 
g h i j 
• Make a clone. 
• Determine height. 
•Determine number of nodes.
Level Order 
Let t be the tree root. 
while (t != null) 
{ 
visit t and put its children on a FIFO queue; 
remove a node from the FIFO queue and 
call it t; 
// remove returns null when queue is empty 
}
Level-Order Example (visit = print) 
a 
b c 
d e f 
g h i j 
a b c d e f g h i j
Binary Tree Construction 
• Suppose that the elements in a binary tree 
are distinct. 
• Can you construct the binary tree from 
which a given traversal sequence came? 
• When a traversal sequence has more than 
one element, the binary tree is not uniquely 
defined. 
• Therefore, the tree from which the sequence 
was obtained cannot be reconstructed 
uniquely.
Some Examples 
preorder 
= ab 
a 
b 
a 
b 
inorder 
= ab 
b 
a 
a 
b 
postorder 
= ab 
b 
a 
b 
a 
level order 
= ab 
a 
b 
a 
b
Binary Tree Construction 
• Can you construct the binary tree, 
given two traversal sequences? 
• Depends on which two sequences are 
given.
Preorder And Postorder 
preorder = ab a 
b 
a 
postorder = ba b 
• Preorder and postorder do not uniquely define a 
binary tree. 
• Nor do preorder and level order (same example). 
• Nor do postorder and level order (same 
example).
Inorder And Preorder 
• inorder = g d h b e i a f j c 
• preorder = a b d g h e i c f j 
• Scan the preorder left to right using the 
inorder to separate left and right subtrees. 
• a is the root of the tree; gdhbei are in the 
left subtree; fjc are in the right subtree. 
a 
gdhbei fjc
Inorder And Preorder 
a 
gdhbei fjc 
• preorder = a b d g h e i c f j 
• b is the next root; gdh are in the left 
subtree; ei are in the right subtree. 
a 
b fjc 
ei 
gdh
Inorder And Preorder 
a 
b fjc 
ei 
gdh 
• preorder = a b d g h e i c f j 
• d is the next root; g is in the left 
subtree; h is in the right subtree. 
a 
g 
b fjc 
d ei 
h
Inorder And Postorder 
• Scan postorder from right to left using 
inorder to separate left and right subtrees. 
• inorder = g d h b e i a f j c 
• postorder = g h d i e b j f c a 
• Tree root is a; gdhbei are in left subtree; fjc 
are in right subtree.
Inorder And Level Order 
• Scan level order from left to right using 
inorder to separate left and right subtrees. 
• inorder = g d h b e i a f j c 
• level order = a b c d e f g h i j 
• Tree root is a; gdhbei are in left subtree; fjc 
are in right subtree.

More Related Content

PPT
(Binary tree)
almario1988
 
PPT
Lec19
Nikhil Chilwant
 
PPTX
Traversals | Data Structures
Omair Imtiaz Ansari
 
PPT
09 binary-trees
Tech_MX
 
PDF
Tree and binary tree
Zaid Shabbir
 
PPT
Data Structure and Algorithms Binary Tree
ManishPrajapati78
 
PPTX
Binary tree and Binary search tree
Mayeesha Samiha
 
(Binary tree)
almario1988
 
Traversals | Data Structures
Omair Imtiaz Ansari
 
09 binary-trees
Tech_MX
 
Tree and binary tree
Zaid Shabbir
 
Data Structure and Algorithms Binary Tree
ManishPrajapati78
 
Binary tree and Binary search tree
Mayeesha Samiha
 

What's hot (20)

PPTX
Tree traversal techniques
Syed Zaid Irshad
 
PPT
1.5 binary search tree
Krish_ver2
 
PPSX
Data Structure (Tree)
Adam Mukharil Bachtiar
 
PPTX
THREADED BINARY TREE AND BINARY SEARCH TREE
Siddhi Shrivas
 
PDF
Tree Data Structure by Daniyal Khan
Daniyal Khan
 
PPT
Unit8 C
arnold 7490
 
PPT
Binary Search Tree
Zafar Ayub
 
PDF
Threaded binarytree&heapsort
Ssankett Negi
 
PPTX
Threaded Binary Tree
khabbab_h
 
PDF
Trees, Binary Search Tree, AVL Tree in Data Structures
Gurukul Kangri Vishwavidyalaya - Faculty of Engineering and Technology
 
PPTX
Trees (data structure)
Trupti Agrawal
 
PPT
binary search tree
Shankar Bishnoi
 
PPTX
Data structure tree- advance
MD. MARUFUZZAMAN .
 
PPT
Binary Search Tree and AVL
Katang Isip
 
PPT
BINARY SEARCH TREE
ER Punit Jain
 
PPTX
Week 8 (trees)
amna izzat
 
PPT
Binary search tree(bst)
Hossain Md Shakhawat
 
PPT
Tree traversal
shamim alamgir
 
PPTX
Trees in Data Structure
Om Prakash
 
PPT
Data Structure: TREES
TABISH HAMID
 
Tree traversal techniques
Syed Zaid Irshad
 
1.5 binary search tree
Krish_ver2
 
Data Structure (Tree)
Adam Mukharil Bachtiar
 
THREADED BINARY TREE AND BINARY SEARCH TREE
Siddhi Shrivas
 
Tree Data Structure by Daniyal Khan
Daniyal Khan
 
Unit8 C
arnold 7490
 
Binary Search Tree
Zafar Ayub
 
Threaded binarytree&heapsort
Ssankett Negi
 
Threaded Binary Tree
khabbab_h
 
Trees, Binary Search Tree, AVL Tree in Data Structures
Gurukul Kangri Vishwavidyalaya - Faculty of Engineering and Technology
 
Trees (data structure)
Trupti Agrawal
 
binary search tree
Shankar Bishnoi
 
Data structure tree- advance
MD. MARUFUZZAMAN .
 
Binary Search Tree and AVL
Katang Isip
 
BINARY SEARCH TREE
ER Punit Jain
 
Week 8 (trees)
amna izzat
 
Binary search tree(bst)
Hossain Md Shakhawat
 
Tree traversal
shamim alamgir
 
Trees in Data Structure
Om Prakash
 
Data Structure: TREES
TABISH HAMID
 
Ad

Viewers also liked (11)

PPT
Computer notes - Expression Tree
ecomputernotes
 
PPT
1.4 expression tree
Krish_ver2
 
PPTX
Binary expression tree
Shab Bi
 
PDF
Expression trees
Salman Vadsarya
 
PPTX
Implementation of trees
Mubashar Mehmood
 
DOC
Infix to-postfix examples
mua99
 
PDF
Infix prefix postfix expression -conversion
Syed Mustafa
 
PPTX
Tree Traversals (In-order, Pre-order and Post-order)
raj upadhyay
 
PDF
Infix to Prefix (Conversion, Evaluation, Code)
Ahmed Khateeb
 
PDF
Stack
Zaid Shabbir
 
PPTX
Binary Search Tree in Data Structure
Dharita Chokshi
 
Computer notes - Expression Tree
ecomputernotes
 
1.4 expression tree
Krish_ver2
 
Binary expression tree
Shab Bi
 
Expression trees
Salman Vadsarya
 
Implementation of trees
Mubashar Mehmood
 
Infix to-postfix examples
mua99
 
Infix prefix postfix expression -conversion
Syed Mustafa
 
Tree Traversals (In-order, Pre-order and Post-order)
raj upadhyay
 
Infix to Prefix (Conversion, Evaluation, Code)
Ahmed Khateeb
 
Binary Search Tree in Data Structure
Dharita Chokshi
 
Ad

Similar to Lec21 (20)

PPTX
Lecture 6 tree traversal
Abirami A
 
PPTX
Lecture 8 tree traversal
Abirami A
 
PPTX
Weak 13 Trees, BST update.pptxhjjujjjhhhy
baloch4551701
 
PPTX
Basics of Binary Tree and Binary Search Tree.pptx
BhagyashriKotame2
 
PPTX
datastructurestreeand type of trees.pptx
Muhammad439928
 
PPTX
Introduction to Tree_Data Structure.pptx
PoojariniMitra1
 
PPT
Tree 11.ppt
DEEPAK948083
 
PPTX
TREE DATA STRUCTURE SLIDES dsa dsa .pptx
asimshahzad8611
 
PPTX
Binary Tree Traversal
Dhrumil Panchal
 
PPT
Unit III.ppt
sherrilsiddhardh
 
PPT
ALG5.1.pptdsfnj,sdhfjk hsdjkfhsdjkfhj ksd hfjksdhfjksd
robozenbd
 
PPTX
unit 4 for trees data structure notes it is
logesswarisrinivasan
 
PPTX
Unit 6 tree
Dabbal Singh Mahara
 
PDF
Binary tree
Ssankett Negi
 
PPTX
tree-160731205832.pptx
MouDhara1
 
PPT
Trees
Gaditek
 
PPTX
Unit 1 L7 L8 Binary Tree Construction using sequence.pptx
ratnapatil14
 
PPTX
Data structures and Algorithm analysis_Lecture4.pptx
AhmedEldesoky24
 
PPTX
Binary tree
MKalpanaDevi
 
Lecture 6 tree traversal
Abirami A
 
Lecture 8 tree traversal
Abirami A
 
Weak 13 Trees, BST update.pptxhjjujjjhhhy
baloch4551701
 
Basics of Binary Tree and Binary Search Tree.pptx
BhagyashriKotame2
 
datastructurestreeand type of trees.pptx
Muhammad439928
 
Introduction to Tree_Data Structure.pptx
PoojariniMitra1
 
Tree 11.ppt
DEEPAK948083
 
TREE DATA STRUCTURE SLIDES dsa dsa .pptx
asimshahzad8611
 
Binary Tree Traversal
Dhrumil Panchal
 
Unit III.ppt
sherrilsiddhardh
 
ALG5.1.pptdsfnj,sdhfjk hsdjkfhsdjkfhj ksd hfjksdhfjksd
robozenbd
 
unit 4 for trees data structure notes it is
logesswarisrinivasan
 
Unit 6 tree
Dabbal Singh Mahara
 
Binary tree
Ssankett Negi
 
tree-160731205832.pptx
MouDhara1
 
Trees
Gaditek
 
Unit 1 L7 L8 Binary Tree Construction using sequence.pptx
ratnapatil14
 
Data structures and Algorithm analysis_Lecture4.pptx
AhmedEldesoky24
 
Binary tree
MKalpanaDevi
 

More from Nikhil Chilwant (20)

TXT
The joyless economy
Nikhil Chilwant
 
PPTX
IIT Delhi training pioneer ct (acemicromatic )
Nikhil Chilwant
 
PPT
Lec39
Nikhil Chilwant
 
PPT
Lec38
Nikhil Chilwant
 
PPT
Lec37
Nikhil Chilwant
 
PPT
Lec36
Nikhil Chilwant
 
PPT
Lec35
Nikhil Chilwant
 
PPT
Lec34
Nikhil Chilwant
 
PPT
Lec33
Nikhil Chilwant
 
PPT
Lec32
Nikhil Chilwant
 
PPT
Lec30
Nikhil Chilwant
 
PPT
Lec29
Nikhil Chilwant
 
PPT
Lec28
Nikhil Chilwant
 
PPT
Lec27
Nikhil Chilwant
 
PPT
Lec26
Nikhil Chilwant
 
PPT
Lec25
Nikhil Chilwant
 
PPT
Lec24
Nikhil Chilwant
 
PPT
Lec23
Nikhil Chilwant
 
PPT
Lec20
Nikhil Chilwant
 

Lec21

  • 1. Binary Tree Traversal Methods • In a traversal of a binary tree, each element of the binary tree is visited exactly once. • During the visit of an element, all action (make a clone, display, evaluate the operator, etc.) with respect to this element is taken.
  • 2. Binary Tree Traversal Methods • Preorder • Inorder • Postorder • Level order
  • 3. Preorder Traversal public static void preOrder(BinaryTreeNode t) { if (t != null) { visit(t); preOrder(t.leftChild); preOrder(t.rightChild); } }
  • 4. Preorder Example (visit = print) a b c a b c
  • 5. Preorder Example (visit = print) a b c d e f g h i j a b d g h e i c f j
  • 6. Preorder Of Expression Tree + a b - c d + e f * / / * + a b - c d + e f Gives prefix form of expression!
  • 7. Inorder Traversal public static void inOrder(BinaryTreeNode t) { if (t != null) { inOrder(t.leftChild); visit(t); inOrder(t.rightChild); } }
  • 8. Inorder Example (visit = print) a b c b a c
  • 9. Inorder Example (visit = print) a b c d e f g h i j g d h b e i a f j c
  • 10. Inorder By Projection (Squishing) a b c d e f g h i j g d h b e i a f j c
  • 11. Inorder Of Expression Tree + a b - c d + e f * / a + b * c - d / e + f Gives infix form of expression (sans parentheses)!
  • 12. Postorder Traversal public static void postOrder(BinaryTreeNode t) { if (t != null) { postOrder(t.leftChild); postOrder(t.rightChild); visit(t); } }
  • 13. Postorder Example (visit = print) a b c b c a
  • 14. Postorder Example (visit = print) a b c d e f g h i j g h d i e b j f c a
  • 15. Postorder Of Expression Tree + a b - c d + e f * / a b + c d - * e f + / Gives postfix form of expression!
  • 16. Traversal Applications a b c d e f g h i j • Make a clone. • Determine height. •Determine number of nodes.
  • 17. Level Order Let t be the tree root. while (t != null) { visit t and put its children on a FIFO queue; remove a node from the FIFO queue and call it t; // remove returns null when queue is empty }
  • 18. Level-Order Example (visit = print) a b c d e f g h i j a b c d e f g h i j
  • 19. Binary Tree Construction • Suppose that the elements in a binary tree are distinct. • Can you construct the binary tree from which a given traversal sequence came? • When a traversal sequence has more than one element, the binary tree is not uniquely defined. • Therefore, the tree from which the sequence was obtained cannot be reconstructed uniquely.
  • 20. Some Examples preorder = ab a b a b inorder = ab b a a b postorder = ab b a b a level order = ab a b a b
  • 21. Binary Tree Construction • Can you construct the binary tree, given two traversal sequences? • Depends on which two sequences are given.
  • 22. Preorder And Postorder preorder = ab a b a postorder = ba b • Preorder and postorder do not uniquely define a binary tree. • Nor do preorder and level order (same example). • Nor do postorder and level order (same example).
  • 23. Inorder And Preorder • inorder = g d h b e i a f j c • preorder = a b d g h e i c f j • Scan the preorder left to right using the inorder to separate left and right subtrees. • a is the root of the tree; gdhbei are in the left subtree; fjc are in the right subtree. a gdhbei fjc
  • 24. Inorder And Preorder a gdhbei fjc • preorder = a b d g h e i c f j • b is the next root; gdh are in the left subtree; ei are in the right subtree. a b fjc ei gdh
  • 25. Inorder And Preorder a b fjc ei gdh • preorder = a b d g h e i c f j • d is the next root; g is in the left subtree; h is in the right subtree. a g b fjc d ei h
  • 26. Inorder And Postorder • Scan postorder from right to left using inorder to separate left and right subtrees. • inorder = g d h b e i a f j c • postorder = g h d i e b j f c a • Tree root is a; gdhbei are in left subtree; fjc are in right subtree.
  • 27. Inorder And Level Order • Scan level order from left to right using inorder to separate left and right subtrees. • inorder = g d h b e i a f j c • level order = a b c d e f g h i j • Tree root is a; gdhbei are in left subtree; fjc are in right subtree.

Editor's Notes

  • #4: t is the root of the subtree being traversed.
  • #6: During the traversal, t starts at the root, moves to the left child b of the root, then to the left child d of b. When the traversal of the left subtree of b is complete, t, once again, points to the node b. The t moves into the right subtree of b. When the traversal of this right subtree is complete, t again points to b. Following this, t points to a. We see that t points to every node in the binary tree three times – once when you get to the node from its parent (or in the case of the root, t is initially at the root), once when you return from the left subtree of the node, and once when you return from the node’s right subtree. Of these three times that t points to a node, the node is visited the first time.
  • #17: Make a clone using postorder traversal … clone the left subtree, clone the right subtree, clone the root in the visit step. Determine height using postorder traversal … determine the height of the left subtree, determine the height of the right subtree, in the visit step add 1 to the max of the already determined heights of the left and right subtrees. Determine number of nodes using preorder, inorder, or postorder traversal … initialize a counter to 0, add 1 to the counter in the visit step.