При постоянном разветвлении и в предположении древовидного графа количество узлов, которые посетили BFS, почти равно числу узлов на границе.(например, в дереве с разветвлением K каждый уровень n имеет K ^ n узлов, а число узлов с меньшей глубиной, чем n, также является тэтой (K ^ n)).
Следовательно, сохранение полосы будетуже занимают много памяти.Поэтому, если память представляет собой очень большую проблему, «эквивалентный» метод, такой как итеративное углубление DFS, может быть намного лучше.
Но если вы хотите уничтожить «посещенные» узлы, тогда какой-то способ отслеживания того, что былопосещенный (в случае общего графа; если это - это дерево, то проблем нет) необходимо разработать.В этом случае требуется больше информации на графике.
EDIT о том, почему итеративное углубление DFS лучше.
Край (не посещаемые узлы, которые должны быть смежными сколичество посещенных узлов) в BFS имеет размер O (K ^ n), где n - текущая глубина.Край для DFS имеет размер O (n).
Итеративное углубление DFS имеет тот же размер полосы, что и DFS, и дает тот же результат, что и BFS, потому что он "имитирует" BFS.