## DFS Pseudocode

Exercise Based on your understanding of the DFS process, complete the pseudocode of DFS!

```
mark s as explored;all other vertices as unexplored
______________ data structure, initialized with s
while____is not empty do
remove the vertex from ____________, call it v
for edge (v, w) in v's neighborhood do
if ____________ then
_________________________
_________________________
```

## Solution

```
mark s as explored, all other vertices as unexplored
S := a stack data structure, initialized with s
while S is not empty do
pop the vertex from the top of S, call it v
for each edge (v, w) in v's neighborhood do
if w is unexplored then
mark w as explored
push w to the top of S
```