Question: can bfs be done recursively?
Answer: It's possible to run BFS recursively without any data structures, but with higher complexity. DFS, as opposed to BFS, uses a stack instead of a queue, and so it can be implemented recursively. Again, note that the above code is iterative, but it's trivial to make it recursive.