BFS explores a graph level by level, systematically visiting all neighbors of a node before moving deeper.
Guarantees shortest path in unweighted graphs
Explores nodes level-by-level from source
Useful for finding all nodes at distance k
Less memory efficient than DFS in deep graphs
BFS uses more memory than DFS but guarantees the shortest path in unweighted graphs