The bottom view of a binary tree is the set of nodes visible when the tree is seen from the bottom. It shows the last node at each horizontal distance from the root.
Click to reveal answer
beginner
How do we assign horizontal distances to nodes in a binary tree for bottom view?
The root node is assigned horizontal distance 0. For any node, its left child has horizontal distance -1 from it, and the right child has +1. This helps track nodes vertically.
Click to reveal answer
intermediate
Which data structure is commonly used to store nodes by their horizontal distance during bottom view traversal?
A map (like TreeMap in Java) is used to store the latest node at each horizontal distance. Keys are horizontal distances, values are node data.
Click to reveal answer
intermediate
What traversal method is typically used to compute the bottom view of a binary tree?
Level order traversal (using a queue) is used to visit nodes level by level, updating the map with the latest node at each horizontal distance.
Click to reveal answer
intermediate
Why does the bottom view show the last node at each horizontal distance during level order traversal?
Because level order visits nodes top to bottom, the last node encountered at a horizontal distance is the bottom-most visible node from that side.
Click to reveal answer
What horizontal distance is assigned to the root node in bottom view calculation?
A0
B1
C-1
DDepends on tree height
✗ Incorrect
The root node is always assigned horizontal distance 0.
Which traversal is best suited to find the bottom view of a binary tree?
APreorder traversal
BInorder traversal
CPostorder traversal
DLevel order traversal
✗ Incorrect
Level order traversal visits nodes level by level, allowing us to update bottom view nodes correctly.
In bottom view, what happens if two nodes share the same horizontal distance and level?
AThe first visited node is shown
BThe last visited node is shown
CBoth nodes are shown
DNone are shown
✗ Incorrect
The last visited node at that horizontal distance and level is shown in the bottom view.
Which data structure helps keep nodes sorted by horizontal distance for bottom view?
AArrayList
BHashMap
CTreeMap
DStack
✗ Incorrect
TreeMap keeps keys sorted, so horizontal distances are in order for bottom view output.
What does the bottom view of a binary tree represent visually?
ANodes visible from the bottom
BNodes visible from the left side
CNodes visible from the right side
DNodes visible from the top
✗ Incorrect
Bottom view shows nodes visible when looking at the tree from below.
Explain how to compute the bottom view of a binary tree step-by-step.
Think about horizontal distances and level order traversal.
You got /5 concepts.
Why is level order traversal preferred over other traversals for bottom view?
Consider how nodes are visited from top to bottom.
You got /4 concepts.
Practice
(1/5)
1. What does the bottom view of a binary tree represent?
easy
A. Nodes visible when the tree is viewed from the left side
B. Nodes visible when the tree is viewed from the top
C. Nodes visible when the tree is viewed from the bottom
D. Nodes visible when the tree is viewed from the right side
Solution
Step 1: Understand the bottom view concept
The bottom view shows nodes that are visible when looking at the tree from below, ignoring nodes hidden behind others.
Step 2: Compare with other views
Top, left, and right views show nodes from different directions, but bottom view specifically shows the lowest nodes at each horizontal distance.
Final Answer:
Nodes visible when the tree is viewed from the bottom -> Option C
Quick Check:
Bottom view = visible nodes from below [OK]
Hint: Bottom view shows lowest nodes at each horizontal distance [OK]
Common Mistakes:
Confusing bottom view with top view
Thinking it shows all leaf nodes
Mixing bottom view with side views
2. Which data structure is commonly used to store nodes along with their horizontal distance while computing the bottom view of a binary tree in Java?
easy
A. HashMap
B. Queue
C. ArrayList
D. Stack
Solution
Step 1: Identify the need to map horizontal distances
We need to store nodes with their horizontal distance to update the bottom-most node at each distance.
Step 2: Choose appropriate data structure
A HashMap stores key-value pairs efficiently, mapping horizontal distance (key) to node data (value).
Final Answer:
HashMap -> Option A
Quick Check:
Use HashMap for horizontal distance mapping [OK]
Hint: Use HashMap to map horizontal distance to node [OK]
Common Mistakes:
Using Stack which is LIFO, not suitable here
Using Queue alone without mapping distances
Using ArrayList which doesn't map keys
3. What is the output bottom view of the following binary tree?
20
/ \
8 22
/ \ \
5 3 25
/ \
10 14
medium
A. [5, 8, 10, 14, 25]
B. [5, 10, 3, 14, 25]
C. [5, 10, 3, 22, 25]
D. [8, 10, 3, 14, 22]
Solution
Step 1: Assign horizontal distances and track bottom nodes
Horizontal distances: 20(0), 8(-1), 22(1), 5(-2), 3(0), 25(2), 10(-1), 14(1). Bottom nodes at each distance are the lowest nodes: -2:5, -1:10, 0:3, 1:14, 2:25.
Step 2: Collect bottom view nodes in order from left to right
Order by horizontal distance: 5, 10, 3, 14, 25.
Final Answer:
[5, 10, 3, 14, 25] -> Option B
Quick Check:
Bottom view nodes = [5, 10, 3, 14, 25] [OK]
Hint: Track horizontal distance and update bottom nodes [OK]
Common Mistakes:
Not updating bottom node when lower node appears
Mixing horizontal distances order
Including nodes not visible from bottom
4. Identify the error in this Java snippet for bottom view calculation:
class Node {
int data;
Node left, right;
Node(int d) { data = d; }
}
void bottomView(Node root) {
Map map = new HashMap<>();
Queue<Node> queue = new LinkedList<>();
queue.add(root);
while (!queue.isEmpty()) {
Node temp = queue.poll();
int hd = 0; // horizontal distance
map.put(hd, temp.data);
if (temp.left != null) queue.add(temp.left);
if (temp.right != null) queue.add(temp.right);
}
System.out.println(map.values());
}
medium
A. Queue should be a Stack for bottom view
B. Missing check for null root before processing
C. Map should store Node objects, not integers
D. Horizontal distance 'hd' is reset to 0 inside the loop
Solution
Step 1: Analyze horizontal distance usage
The variable 'hd' is reset to 0 inside the loop, so all nodes get the same horizontal distance, which is incorrect.
Step 2: Understand horizontal distance tracking
Horizontal distance must be tracked per node and updated when adding children (left: hd-1, right: hd+1).
Final Answer:
Horizontal distance 'hd' is reset to 0 inside the loop -> Option D
Quick Check:
hd must update per node, not reset [OK]
Hint: Track horizontal distance outside loop and update per node [OK]
Common Mistakes:
Resetting horizontal distance inside loop
Using Stack instead of Queue for BFS
Not updating horizontal distance for children
5. Given a binary tree where multiple nodes share the same horizontal distance and depth, how should the bottom view algorithm decide which node to show?
hard
A. Show the node that appears last in level order traversal at that horizontal distance
B. Show the node with the smallest value at that horizontal distance
C. Show the node that appears first in level order traversal at that horizontal distance
D. Show all nodes at that horizontal distance
Solution
Step 1: Understand bottom view node selection
Bottom view shows the lowest node at each horizontal distance. When nodes share horizontal distance and depth, the one encountered last in level order (BFS) is the bottom-most.
Step 2: Confirm BFS traversal order
Level order traversal visits nodes top to bottom, left to right. Updating map with each node at horizontal distance ensures last node overwrites previous.
Final Answer:
Show the node that appears last in level order traversal at that horizontal distance -> Option A
Quick Check:
Bottom view = last node at horizontal distance in BFS [OK]
Hint: Update map with last node at horizontal distance during BFS [OK]
Common Mistakes:
Choosing first node instead of last at horizontal distance
Selecting node by value instead of position
Trying to show multiple nodes per horizontal distance
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.