Professional Documents
Culture Documents
Binary Trees: CS221 (A) - Data Structures & Algorithms
Binary Trees: CS221 (A) - Data Structures & Algorithms
D E F
G H
Binary Trees
• The maximum number of
A
nodes for an entire
binary tree of depth k is.
2k-1 for k ≥ 1 B C
2 3
4 5 6 7
8 9 10
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10, 5,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10, 5, 1,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10, 5, 1, 6,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10, 5, 1, 6, 3,
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10, 5, 1, 6, 3, 7
Binary Tree Traversal
• Inorder Traversal
1
2 3
4 5 6 7
8 9 10
Result : 8, 4, 9, 2, 10, 5, 1, 6, 3, 7
Binary Tree Traversal
• void InOrder(TreeNode Root)
• {
– if (Root !=null)
–{
• InOrder(RootLeft);
• PrintNode(RootElement);
• InOrder(RootRight);
–}
• }
Binary Tree Traversal
• Preorder Traversal
– Visit the data item.
– Visit the left sub tree.
– Visit the right sub tree.
Binary Tree Traversal
• Preorder Traversal
1
2 3
4 5 6 7
8 9 10
Binary Tree Traversal
• Preorder Traversal
2 3
4 5 6 7
8 9 10
Result : 1,
Binary Tree Traversal
• Preorder Traversal
4 5 6 7
8 9 10
Result : 1, 2,
Binary Tree Traversal
• Preorder Traversal
5 6 7
8 9 10
Result : 1, 2, 4,
Binary Tree Traversal
• Preorder Traversal
5 6 7
9 10
Result : 1, 2, 4, 8,
Binary Tree Traversal
• Preorder Traversal
5 6 7
10
Result : 1, 2, 4, 8, 9,
Binary Tree Traversal
• Preorder Traversal
6 7
10
Result : 1, 2, 4, 8, 9, 5,
Binary Tree Traversal
• Preorder Traversal
6 7
Result : 1, 2, 4, 8, 9, 5, 10,
Binary Tree Traversal
• Preorder Traversal
6 7
Result : 1, 2, 4, 8, 9, 5, 10, 3,
Binary Tree Traversal
• Preorder Traversal
Result : 1, 2, 4, 8, 9, 5, 10, 3, 6
Binary Tree Traversal
• Preorder Traversal
Result : 1, 2, 4, 8, 9, 5, 10, 3, 6, 7
Binary Tree Traversal
• Preorder Traversal
Result : 1, 2, 4, 8, 9, 5, 10, 3, 6, 7
Binary Tree Traversal
• void PreOrder(TreeNode Root)
• {
– if (Root !=null)
–{
• PrintNode(RootElement);
• PreOrder(RootLeft);
• PreOrder(RootRight);
–}
• }
Binary Tree Traversal
• Postorder Traversal
– Visit the left sub tree.
– Visit the right sub tree.
– Visit the data item.
Binary Tree Traversal
• Postorder Traversal
2 3
4 5 6 7
8 9 10
Binary Tree Traversal
• Postorder Traversal
2 3
4 5 6 7
9 10
Result : 8,
Binary Tree Traversal
• Postorder Traversal
2 3
4 5 6 7
10
Result : 8, 9
Binary Tree Traversal
• Postorder Traversal
2 3
5 6 7
10
Result : 8, 9, 4,
Binary Tree Traversal
• Postorder Traversal
2 3
5 6 7
Result : 8, 9, 4, 10,
Binary Tree Traversal
• Postorder Traversal
2 3
6 7
Result : 8, 9, 4, 10, 5,
Binary Tree Traversal
• Postorder Traversal
6 7
Result : 8, 9, 4, 10, 5, 2,
Binary Tree Traversal
• Postorder Traversal
Result : 8, 9, 4, 10, 5, 2, 6,
Binary Tree Traversal
• Postorder Traversal
Result : 8, 9, 4, 10, 5, 2, 6, 7
Binary Tree Traversal
• Postorder Traversal
Result : 8, 9, 4, 10, 5, 2, 6, 7, 3
Binary Tree Traversal
• Postorder Traversal
Result : 8, 9, 4, 10, 5, 2, 6, 7, 3, 1
Binary Tree Traversal
• Postorder Traversal
Result : 8, 9, 4, 10, 5, 2, 6, 7, 3, 1
Binary Tree Traversal
• void PostOrder(TreeNode Root)
• {
– if (Root !=null)
–{
• PostOrder(RootLeft);
• PostOrder(RootRight);
• PrintNode(RootElement);
–}
• }
Binary Tree Traversal
• Breadth First Traversal
– Process nodes by level
– Left to right within the level
Binary Tree Traversal
• Breadth First Traversal
2 3
4 5 6 7
8 9 10
Binary Tree Traversal
• Breadth First Traversal
2 3
4 5 6 7
8 9 10
Result : 1,
Binary Tree Traversal
• Breadth First Traversal
4 5 6 7
8 9 10
Result : 1, 2,
Binary Tree Traversal
• Breadth First Traversal
4 5 6 7
8 9 10
Result : 1, 2, 3,
Binary Tree Traversal
• Breadth First Traversal
5 6 7
8 9 10
Result : 1, 2, 3, 4,
Binary Tree Traversal
• Breadth First Traversal
6 7
8 9 10
Result : 1, 2, 3, 4, 5
Binary Tree Traversal
• Breadth First Traversal
8 9 10
Result : 1, 2, 3, 4, 5, 6,
Binary Tree Traversal
• Breadth First Traversal
8 9 10
Result : 1, 2, 3, 4, 5, 6, 7,
Binary Tree Traversal
• Breadth First Traversal
9 10
Result : 1, 2, 3, 4, 5, 6, 7, 8,
Binary Tree Traversal
• Breadth First Traversal
10
Result : 1, 2, 3, 4, 5, 6, 7, 8, 9,
Binary Tree Traversal
• Breadth First Traversal
Result : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Binary Tree Traversal
• Breadth First Traversal
Result : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Binary Tree Traversal
• void BreadthFirst(TreeNode
Root)
• {
• // Solve It
• }