:

  1. Select root vertex and add to a Stack (ADT)
  2. While stack is not-empty:
    1. Inspect top element on the stack
    2. Add any unvisited neighbours of to the stack
    3. Remove from the stack