- 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)