## General Solution

Recall:

**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).