Разница между BFS и DFS (с таблицей)

Оглавление:

Anonim

BFS и DFS жизненно важны для вывода графиков. BFS означает поиск в ширину, а DFS - поиск в глубину. У обоих есть различие между двумя. Оба они даже используют разные структуры данных для работы: один использует структуру данных Queue, а другой - структуру данных Stack.

BFS против DFS

Основное различие между BFS и DFS заключается в том, что поиск в ширину - это метод, основанный на вершине, который помогает указать кратчайший путь на графе. С другой стороны, DFS или поиск в глубину - это метод, основанный на крае. BFS - это метод, который зависит от структуры данных очереди. С другой стороны, DFS зависит от структуры данных стека.

BFS - это метод, который применяется для определения кратчайшего маршрута в графе с использованием структуры данных Queue. Он подходит для поиска вершин в непосредственной близости от источника. В отличие от DFS, его нельзя лучше применять в деревьях принятия решений, встречающихся в головоломках или играх.

DFS - это метод, который применяется для определения кратчайшего пути в графе с использованием структуры данных Stack. Подходит для участков, удаленных от источников внутри раствора. В отличие от BFS, его лучше применять при принятии решений или решении проблем в играх.

Таблица сравнения между BFS и DFS

Параметры сравнения

BFS

DFS

Полная форма и определение BFS означает поиск в ширину. Это метод, основанный на вершине, которая используется для поиска кратчайшего маршрута в графе. DFS означает поиск в глубину. Это метод, основанный на использовании ребер для поиска кратчайшего маршрута в графе.
Зависимость от структуры данных Поиск в ширину или BFS определяет кратчайший путь на графике с помощью структуры данных очереди. Поиск в глубину или DFS определяет кратчайший путь на графике с помощью структуры данных стека.
Использует В невзвешенном графе он используется для поиска кратчайшего пути к одному источнику, поскольку он использует наименьшее количество ребер от источника вершины. В DFS для достижения точки назначения или вершины из любого источника необходимо пройти больше ребер.
Область пригодности Его область пригодности для поиска вершин находится в непосредственной близости от источника. Это не подходит для создания деревьев решений в играх. Его область пригодности варьируется в пределах решений, удаленных от источника. Он больше подходит для принятия решений или задач в играх или головоломках.
Механизм В этом методе единовременно выбирается одна вершина во время ее посещения и помечается, после чего соседняя вершина посещается и помещается в очередь. Посещенные вершины помещаются в стек, а затем, в случае отсутствия вершин, посещенные вершины выталкиваются.

Что такое BFS?

С помощью BFS график перемещается по хлебу в сторону движения. Чтобы не забыть выбрать следующую вершину, в этой технике используется очередь. Это происходит, когда итерация заходит в тупик. Он не учитывается для деревьев решений, поскольку охватывает всех соседей. Он сравнительно медленнее, чем DFS. Алгоритм BFS Временная сложность BFS составляет O (V + E) во время списка смежных объектов и O (V ^ 2) во время матрицы смежности. Здесь E обозначает ребра, а V обозначает вершины. Алгоритм BFS в графе можно использовать в разных областях.

BFS широко используется для создания каждого соседнего узла в одноранговых соединениях. Индекс строится с помощью этой техники сканерами поисковых систем. Начиная от исходных страниц и заканчивая новыми страницами, он помогает найти все связанные ссылки. Требуется для поиска соседних мест с помощью средства GPS-навигации. Алгоритм BFS используется при трансляции некоторых пакетов в сети. Алгоритм поиска пути включает BFS. С помощью этого метода самый высокий поток в сети можно найти в алгоритме Форда-Фулкерсона.

Что такое DFS?

С помощью DFS график проходит по глубине. В этой технике используется стек, чтобы напомнить о получении точки рядом с предыдущей. Поиск выполняется при возникновении любой итерации. Во время дерева решений следует выполнить дальнейший обход для увеличения решения. В заключение признается победа. он сравнительно быстрее по скорости, чем BFS. Временная сложность DFS составляет O (V + E) во время списка смежных объектов и O (V ^ 2) во время смежной матрицы. Здесь E обозначает ребра, а V обозначает вершины. DFS широко используется в различных областях.

Когда DFS выполняется на невзвешенном графе, минимальные остовные деревья разрабатываются для каждой пары деревьев кратчайшего пути. Его можно применять для определения циклов на графиках. Если в BFS обнаружен один задний край, значит, есть один цикл. С помощью этой техники можно найти путь между u и v или двумя вершинами. Алгоритм DFS используется для топологической сортировки. Его можно использовать для определения компонентов, которые сильно связаны в данном графе. Компоненты считаются прочно связанными, когда между каждой вершиной есть путь.

Основные различия между BFS и DFS

Вывод

Таким образом, можно заключить, что BFS и DFS существенно отличаются друг от друга. BFS используется в графе для поиска кратчайшего пути с помощью структуры данных очереди, а DFS используется в графе для поиска кратчайшего пути с помощью структуры данных стека. BFS выбирает единственную вершину во время своего посещения и отмечает, после чего соседняя вершина посещается и собирается в очереди. С другой стороны, в DFS посещенные вершины включаются в стек, а при отсутствии вершин выталкиваются. Техника BFS основана на вершине, а техника DFS основана на ребре.

использованная литература

Разница между BFS и DFS (с таблицей)