Я смотрю на псевдокоде в ВикипедииПочему алгоритм BFS использует очередь?
Breadth-First-Search(Graph, root):
2
3 for each node n in Graph:
4 n.distance = INFINITY
5 n.parent = NIL
6
7 create empty queue Q
8
9 root.distance = 0
10 Q.enqueue(root)
11
12 while Q is not empty:
13
14 current = Q.dequeue()
15
16 for each node n that is adjacent to current:
17 if n.distance == INFINITY:
18 n.distance = current.distance + 1
19 n.parent = current
20 Q.enqueue(n)
https://en.wikipedia.org/wiki/Breadth-first_search
и что мне любопытно, о том, есть ли конкретная причина, почему queueu используется для хранения узлов. Мне кажется, что можно использовать любой контейнер, так как порядок прохождения элементов, находящихся в контейнере, не имеет значения.
Подсказка: заказ не имеет значения, если это BFS. Замените его стеком и угадайте, что произойдет. – Carcigenicate
Еще один намек: подумайте, что произойдет, если вы используете очередь или стек. – Mai