• connected graph
  • visited: Boolean[]
  • mark cur node visited true
  • push first value in queue as cur node
  • while queue is not empty run below
  • pop and print element cur element
  • this.adj[curNode] all elements to queue
  • goes back up to while loop
  • prints first element in queue
  • pushes other elements to queue end again
  • o(v+e)