:

  1. Select root vertex and add to a Queue (ADT)
  2. While queue is not empty:
    1. Inspect first element in queue
    2. Add unvisited neighbours of to queue
    3. Remove from queue