Stage 1 · Code
Trees
BFS
Level-order traversal, level averages, and right side view.
Level-Order Traversal
BFS Tree Traversal
Step 1 / 12 — Start: enqueue root (index 0)
BFS uses a queue. Process nodes level by level. Track level size to separate levels in result.
Level-Based Problems
| Problem | Approach |
|---|---|
| Level averages | Sum each level, divide by count |
| Right side view | Last node of each level (or first from right-to-left) |
| Left side view | First node of each level |
| Bottom-left value | Last level, first node (or reverse level order) |
| Min depth | First leaf encountered in BFS |
| Cousins check | Track parent and depth per level |
BFS vs DFS
| Aspect | BFS | DFS |
|---|---|---|
| Data structure | Queue | Stack (or recursion) |
| Order | Level by level | Deep first |
| Shortest path | Yes (unweighted) | No |
| Space | O(width) - max level size | O(height) - call stack |
| Use when | Shallow target, shortest path | Deep target, path to leaf |
In unweighted trees/graphs, BFS finds shortest path (minimum edges) because it explores all nodes at distance d before distance d+1. First time you reach target, that's the shortest path.
Mark this lesson complete to store local progress and unlock a cleaner resume path the next time you visit.