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. Исследует двудольный граф, связную компоненту и кратчайший путь, присутствующий в графе, тогда как исследует двухгранный связный граф, сильно связный граф, ациклический граф и топологический порядок.

Заключение

В этой статье выше мы видим четкую разницу между поиском по дыханию и поиском по глубине с реализацией.

Пояснительное видео