BFS проти DFS

Автор: Laura McKinney
Дата Створення: 4 Квітень 2021
Дата Оновлення: 13 Травень 2024
Anonim
Space-Time Tradeoff: Breadth First Search vs. Depth First Search
Відеоролик: Space-Time Tradeoff: Breadth First Search vs. Depth First Search

Зміст

Різниця між BFS, який є першим у широті пошуку, і DFS, який є першим на глибині пошуку, полягає в тому, що пошук на першому широті - це метод переходу графіків, який використовує чергу для зберігання відвіданих вершин, тоді як пошук на глибині - метод переходу графіків, який використовує стек для зберігання відвіданих вершин.


Подих із першого погляду та пошук на глибині - це одне з найважливіших понять у комп'ютерному програмуванні. Швидкий пошук по глибині проходить шлях від початку до кінця, тобто кінцевий вузол з іншого боку, хліб першого рівня роботи за рівнем пошуку за рівнем. Якщо говорити про головну відмінність, то головна відмінність BFS, що є першим пошуком по ширині, і DFS, який є першим на глибині пошуку, полягає в тому, що перший пошук по ширині - це метод переходу графіків, який використовує чергу для зберігання відвіданих вершин, тоді як пошук на першій глибині - метод переходу графіків, який використовує стек для зберігання відвіданих вершин. Перший пошук за шириною, який називається незабаром BFS, BFS використовується для проходу через графік. Черга використовується для зберігання відвіданих вершин у BFS. Робота BFS над вершинами, відвідані вершини зберігаються у черзі. Вершини зберігаються одна за одною. Кожен вузол у графіку повністю досліджується, а потім відвідуються інші вершини графіка.


Глибина Перший пошук, відомий як DFS, - це також метод переходу графіків, який використовував стек для зберігання вершин. Пошук на ширині не є методом, що базується на краю, тоді як пошук на глибині - це метод на основі ребер. Перші поглиблені пошукові роботи рекурсивно, де вершини досліджуються через краї. У глибині першого пошуку кожну вершину відвідують один раз, яку оглядають двічі.

Зміст: Різниця між BFS та DFS

  • Порівняльна діаграма
  • BFS
  • ДФС
  • Ключові відмінності
  • Висновок
  • Пояснювальне відео

Порівняльна діаграма

ОсноваBFSДФС
ЗначенняПерший пошук по ширині - це метод переходу графіків, який використовує чергу для зберігання відвіданих вершинПоглиблений пошук - це метод переходу графіків, який використовує стек для зберігання відвіданих вершин.
Алгоритм Перший пошук по ширині - алгоритм на основі вершинПоглиблений пошук - це алгоритм, заснований на краєвиді
Пам'ятьПерший пошук на ширині - це неефективна пам'ятьПоглиблений пошук - це ефективність пам'яті
Застосування Вивчає двосторонній графік, з'єднаний компонент та найкоротший шлях, присутній у графіку.Розглядає двокрайовий пов'язаний графік, сильно пов'язаний графік, ациклічний графік і топологічний порядок.

BFS

Перший пошук за шириною, який називається незабаром BFS, BFS використовується для проходу через графік. Черга використовується для зберігання відвіданих вершин у BFS. Робота BFS над вершинами, відвідані вершини зберігаються у черзі. Вершини зберігаються одна за одною. Кожен вузол у графі повністю вивчений, а потім відвідуються інші вершини графіка. Пошук за шириною використовується для виявлення того, що графік пов'язаний чи ні. Перший пошук використовується для виявлення двостороннього графіка. Пошук найкоротших шляхів здійснюється за допомогою BFS.


ДФС

Глибина Перший пошук, відомий як DFS, - це також метод переходу графіків, який використовував стек для зберігання вершин. Пошук на ширині не є методом, що базується на краю, тоді як пошук на глибині - це метод на основі ребер.Перші поглиблені пошукові роботи рекурсивно, де вершини досліджуються через краї. Під час глибокого пошуку кожна вершина відвідується один раз, яку оглядають двічі.

Ключові відмінності

  1. Перший пошук за шириною - це метод переходу графіків, який використовує чергу для зберігання відвіданих вершин, тоді як пошук по глибині - це метод переходу графіків, який використовує стек для зберігання відвіданих вершин.
  2. Пошук за шириною - це алгоритм, заснований на вершині, тоді як пошук по глибині - це алгоритм, що базується на краю
  3. Пошук за шириною пам’яті неефективний, тоді як глибинний пошук є ефективним у пам’яті.
  4. Вивчає двочастотний графік, з'єднаний компонент та найкоротший шлях, присутній у графіку, тоді як Розглядає двокрайовий пов'язаний графік, сильно пов'язаний графік, ациклічний графік та топологічний порядок.

Висновок

У цій статті вище ми бачимо чітку різницю між першим пошуком та глибинним пошуком за допомогою впровадження.

Пояснювальне відео