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