Vertical Order Traversal of Binary Tree

Level-order visualizer: collect nodes by column, then sort by row/value

Read Here
Step0/23
Columns0
Result[]
Back To Trees List

Python Code

6 queue = deque([(root, 0, 0)]) # node, row, col
7 while queue:
node, row, col = queue.popleft()
9 cols[col].append((row, node.data))
10 if node.left:
11 queue.append((node.left, row + 1, col - 1))
12 if node.right:
13 queue.append((node.right, row + 1, col + 1))
14 ans = []
Current Line (8): Pop Queue Head

Tree Structure

123456
Operation:Pop node 1 (row=0, col=0) from queue

Traversal Progress

Current Node

-

Phase

Pop Queue

Result Columns

Traversal result appears here...
Step 1: Pop node 1 (row=0, col=0) from queue

Processing Stack

Stack is empty. Click Next to begin!

Step Explanation

Ready to Start

Click "Next Step" to begin Vertical Order traversal. The flow is level-order (BFS).

  • > Each node is captured with (row, col), then grouped and sorted by col, row, value.
Unvisited
Left
Current
Right
Done