Bottom View of Binary Tree

Level-order visualizer: deepest visible node per horizontal distance

Read Here
Step0/26
Visited0
Result[]
Back To Trees List

Python Code

6 queue = deque([(root, 0)])
while queue:
8 node, hd = queue.popleft()
9 hd_to_val[hd] = node.data
10 if node.left: queue.append((node.left, hd - 1))
11 if node.right: queue.append((node.right, hd + 1))
12 return [hd_to_val[k] for k in sorted(hd_to_val)]
Current Line (7): Start Level

Tree Structure

1234567
Operation:ENTER

Traversal Progress

Current Node

-

Phase

Start Level

Level

0

Latest

-

Result Array

Traversal result appears here...
Step 1: ENTER

Queue State

Level 0Index 0

Queue Diagram

FrontemptyExit

Step Transition

Before: 0After: 0
OUT noneIN none

Step Explanation

Ready to Start

Click "Next Step". We will scan level by level and keep the latest node for each horizontal distance.

Line 7Level 0
Show More Detail
  • > Think of viewing the tree from below.
  • > Each horizontal distance keeps getting overwritten by later nodes.
  • > Current result: []