General Graph Search Problem
Input: Graph $G=(V, E)$, and a starting vertex $s \in V$.
Goal: Identify the vertices in $V$ reachable from $s$ in $G$.
The following is a solution to this problem:
// Post: a vertex is reachable from s iff it is marked as explored. mark s as "explored"; all other vertices as "unexplored" while there is an edge (v, w) in E with v explored and w unexplored do choose some such edge (v, w) // underspecified mark w as explored
Notice the instruction marked as “underspecified”; depending on how we choose the edge, the search will be called:
- BFS (Breadth-First Search), or
- DFS (Depth-First Search).