Существует несколько различий между DFS и BFS (краткий ответ: Оба из них могут найти кратчайший путь в невзвешенном графе). И BFS, и DFS дадут кратчайший путь от A до B, если вы все правильно реализовали.
Кратчайший путь DFS или BFS?
BFS находит кратчайший путь к пункту назначения, тогда как DFS идет к нижней части поддерева, а затем возвращается назад. Полная форма BFS - поиск в ширину, а полная форма DFS - поиск в глубину. BFS использует очередь для отслеживания следующего места для посещения.
Может ли DFS найти кратчайший путь во взвешенном графе?
Как и BFS, DFS можно использовать для поиска всех вершин, достижимых из начальной вершины v, для определения связности графа или для создания остовного дерева. В отличие от BFS, его нельзя использовать для поиска кратчайших невзвешенных путей.
Можно ли использовать BFS для поиска кратчайшего пути?
Технически поиск в ширину (BFS) сам по себе не позволяет найти кратчайший путь просто потому, что BFS не ищет кратчайший путь: BFS описывает стратегию для поиска на графике, но это не говорит, что вы должны искать что-то конкретное.
Можем ли мы использовать DFS в Дейкстре?
2 Ответы. DFS продолжает прыгать по узлам, пока не найдет путь, в то время как Dijkstra больше похож на BFS, за исключением того, что он отслеживает веса (не все пути имеют одинаковую стоимость) и будет продолжать проверять кратчайший путьеще не проверено, пока не достигнет цели.