Boundary Traversal means visiting all the nodes on the boundary of the tree in an anti-clockwise direction starting from the root. It includes the left boundary, leaves, and right boundary.
Click to reveal answer
beginner
Which parts of the binary tree are included in the boundary traversal?
The boundary traversal includes three parts: 1) Left boundary (excluding leaves), 2) All leaf nodes (left to right), 3) Right boundary (excluding leaves, in bottom-up order).
Click to reveal answer
intermediate
How do you avoid printing leaf nodes twice in boundary traversal?
Leaf nodes are printed only once during the leaf traversal step. Left and right boundary traversals exclude leaf nodes to avoid duplicates.
Click to reveal answer
beginner
What is the order of traversal in boundary traversal of a binary tree?
The order is: root node → left boundary (top-down) → leaf nodes (left to right) → right boundary (bottom-up).
Click to reveal answer
intermediate
Why is the right boundary printed in bottom-up order in boundary traversal?
The right boundary is printed bottom-up to maintain the anti-clockwise direction of traversal around the tree boundary.
Click to reveal answer
Which nodes are NOT included in the left boundary traversal?
AAll nodes on the left edge
BRoot node
CRight child nodes
DLeaf nodes
✗ Incorrect
Leaf nodes are excluded from the left boundary traversal to avoid duplication since they are printed separately.
In boundary traversal, when are leaf nodes printed?
ABefore left boundary
BAfter left boundary and before right boundary
CAfter right boundary
DOnly if they are on the left boundary
✗ Incorrect
Leaf nodes are printed after the left boundary traversal and before the right boundary traversal.
What is the traversal direction of the right boundary in boundary traversal?
ABottom-up
BTop-down
CLeft to right
DRight to left
✗ Incorrect
The right boundary is traversed bottom-up to maintain the anti-clockwise order.
Which node is always the first node printed in boundary traversal?
ARoot node
BRightmost leaf
CLeftmost leaf
DRight boundary node
✗ Incorrect
The root node is always printed first in boundary traversal.
If a binary tree has only one node, what is the boundary traversal output?
AEmpty
BLeft boundary only
CRoot node only
DRight boundary only
✗ Incorrect
If there is only one node, it is the root and also a leaf, so it is printed once.
Explain the steps to perform boundary traversal of a binary tree.
Think about the three parts of the boundary and their order.
You got /4 concepts.
How do you handle leaf nodes during boundary traversal to avoid duplicates?
Consider where leaf nodes appear in the traversal.
You got /2 concepts.
Practice
(1/5)
1. What does the boundary traversal of a binary tree include?
easy
A. Left boundary, leaves, and right boundary nodes in order
B. Only leaf nodes from left to right
C. All nodes in level order
D. Only root and leaf nodes
Solution
Step 1: Understand boundary traversal components
Boundary traversal includes the left boundary (excluding leaves), all leaf nodes, and the right boundary (excluding leaves) in reverse order.
Step 2: Combine all parts in order
Traverse left boundary top-down, then leaves left to right, then right boundary bottom-up to get the full boundary traversal.
Final Answer:
Left boundary, leaves, and right boundary nodes in order -> Option A
Quick Check:
Boundary traversal = Left boundary + Leaves + Right boundary [OK]
Hint: Remember: left boundary + leaves + right boundary [OK]
Common Mistakes:
Including leaf nodes twice in left or right boundary
Ignoring right boundary order (should be bottom-up)
Confusing boundary traversal with level order
2. Which of the following C++ function signatures is correct for printing the left boundary of a binary tree?
easy
A. void printLeftBoundary(Node* root);
B. int printLeftBoundary(Node root);
C. void printLeftBoundary(Node root);
D. int printLeftBoundary(Node* root);
Solution
Step 1: Identify correct parameter type for tree node
Binary tree nodes are passed as pointers (Node*), not by value (Node), to avoid copying the entire subtree.
Step 2: Check return type for printing function
Printing functions usually return void as they output directly and do not return a value.
Left boundary + leaves + right boundary = [1, 2, 4, 7, 8, 9, 6, 3] [OK]
Hint: Left boundary + leaves + right boundary in order [OK]
Common Mistakes:
Including leaf nodes twice in boundary
Wrong order of right boundary nodes
Missing some leaf nodes
4. The following code snippet is intended to print the right boundary of a binary tree. What is the error?
void printRightBoundary(Node* root) {
if (!root) return;
if (root->right) {
printRightBoundary(root->right);
} else if (root->left) {
printRightBoundary(root->left);
}
std::cout << root->data << " ";
}
medium
A. It misses printing the root node
B. It does not print nodes in bottom-up order
C. It prints leaf nodes which should be excluded
D. It causes infinite recursion
Solution
Step 1: Analyze printing condition in recursion
The function prints every node after recursive calls, including leaf nodes which should be excluded from right boundary printing.
Step 2: Identify missing leaf node check
There is no check to skip printing leaf nodes, so leaf nodes get printed incorrectly as part of right boundary.
Final Answer:
It prints leaf nodes which should be excluded -> Option C
Quick Check:
Leaf nodes must be excluded from right boundary [OK]
Hint: Skip printing leaf nodes in boundary functions [OK]
Common Mistakes:
Printing leaf nodes in boundary traversal
Not checking for null nodes before recursion
Confusing order of printing nodes
5. You want to perform boundary traversal on a binary tree that may have only one node or be skewed (all left or all right). Which approach correctly handles these edge cases?
hard
A. Print only leaf nodes as boundary in skewed trees
B. Print all nodes in level order to cover all cases
C. Print left boundary including leaves, then right boundary including leaves, ignoring root
D. Print root, then left boundary excluding leaves, then leaves, then right boundary excluding leaves, skipping duplicates
Solution
Step 1: Understand edge cases in boundary traversal
Single node tree or skewed trees may cause duplicates if leaves are included in boundaries without checks.
Step 2: Use approach that prints root, left boundary excluding leaves, leaves, right boundary excluding leaves, and skip duplicates
This ensures no node is printed twice and all edge cases are handled correctly.
Final Answer:
Print root, then left boundary excluding leaves, then leaves, then right boundary excluding leaves, skipping duplicates -> Option D
Quick Check:
Exclude leaves in boundaries + skip duplicates [OK]
Hint: Exclude leaves in boundaries and skip duplicates [OK]
Common Mistakes:
Printing leaves twice in skewed trees
Ignoring root node in traversal
Using level order which is not boundary traversal
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.