Graph Traversals: BFS and DFS
Breadth-First Search (BFS)
BFS explores vertices level by level, using a queue (FIFO).
A Level 0: A
/|\
B C D Level 1: B, C, D
/| |
E F G Level 2: E, F, G
Use cases:
- Shortest path in unweighted graphs
- Finding all nodes within k hops (network neighborhood)
- Level-order traversal
def bfs(graph, start):
"""
Breadth-First Search from start vertex.
Returns:
[Description truncada. Veja o README completo no GitHub.]