Two frontiers
Maintain BFS from source + BFS from target. Alternate expansion. Report when frontiers meet.
Advertisement
Implementation
Two visited sets. On each level, expand smaller frontier. Check intersection with other visited set.
Advertisement
When it wins
Path finding with known destination. Word ladder problems. Shortest path in social graph.
Complications
Weighted graphs → bidirectional Dijkstra (more complex). Directed graphs → need reverse edges from target side.