## The Graph Traversal Problem

Imagine that you have recently moved into an apartment in a new neighborhood. As you meet your new neighbors and make new friends, people often recommend restaurants to dine at in the vicinity. You wish to visit all the recommended restaurants, so you pull out a map of the neighborhood and mark all the restaurants and your home on the map, which already has all the roads marked on it. If we represent each restaurant and your home as a vertex, and the roads connecting the restaurants as edges in a graph, the problem of visiting all the vertices in the graph, when starting from a given vertex, is called the graph traversal problem.

In the following figure, the numbers in blue are assumed vertex IDs. Vertex *1* is *Home*, and the restaurants are labeled from *R1* to *R7*. None of the edges have arrows since the edges are assumed to be bidirectional, that is, you can travel on the roads in either direction: