Поиск в глубину (DFS): различия между версиями
| [непроверенная версия] | [досмотренная версия] |
ASA (обсуждение | вклад) Нет описания правки |
ASA (обсуждение | вклад) Нет описания правки |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
{{level-a}} | |||
== Свойства и структура алгоритма == | == Свойства и структура алгоритма == | ||
=== Общее описание алгоритма === | === Общее описание алгоритма === | ||
| Строка 24: | Строка 26: | ||
== Программная реализация алгоритма == | == Программная реализация алгоритма == | ||
=== Особенности реализации последовательного алгоритма === | === Особенности реализации последовательного алгоритма === | ||
=== Возможные способы и особенности параллельной реализации алгоритма === | === Возможные способы и особенности параллельной реализации алгоритма === | ||
=== | === Результаты прогонов === | ||
=== Выводы для классов архитектур === | === Выводы для классов архитектур === | ||
== Литература == | == Литература == | ||
<references /> | <references /> | ||
[[Категория:Начатые статьи]] | |||
[[en:Depth-first search (DFS)]] | |||
Текущая версия от 07:19, 7 июля 2022
Свойства и структура алгоритма
Общее описание алгоритма
Поиск в глубину[1] (англ. Depth-First Search) является составной частью многих графовых алгоритмов (поиск компонент сильной связности и двусвязности, мостов, решение задачи о назначениях, проверка планарности графа, определение вершинной и рёберной связности). Результатом поиска в глубину может являться, например, дерево обхода и нумерация вершин (в прямом или обратном порядке). Сложность алгоритма [math]\displaystyle{ O(m) }[/math].
Математическое описание алгоритма
Вычислительное ядро алгоритма
Макроструктура алгоритма
Схема реализации последовательного алгоритма
Последовательная сложность алгоритма
Алгоритм выполняет ограниченный объём работы для каждого ребра, поэтому его сложность составляет [math]\displaystyle{ O(m) }[/math].
Информационный граф
Ресурс параллелизма алгоритма
Поиск в ширину плохо поддаётся параллелизации; существует мнение, что алгоритм является последовательным по сути.
Реализация поиска в ширину на распределённых графах описана в работах[2][3].
Входные и выходные данные алгоритма
Свойства алгоритма
Программная реализация алгоритма
Особенности реализации последовательного алгоритма
Возможные способы и особенности параллельной реализации алгоритма
Результаты прогонов
Выводы для классов архитектур
Литература
- ↑ Tarjan, Robert. “Depth-First Search and Linear Graph Algorithms.” SIAM Journal on Computing 1, no. 2 (1972): 146–60.
- ↑ Cidon, Isreal. “Yet Another Distributed Depth-First-Search Algorithm.” Information Processing Letters 26, no. 6 (January 1988): 301–5. doi:10.1016/0020-0190(88)90187-1.
- ↑ Tsin, Y H. “Some Remarks on Distributed Depth-First Search.” Information Processing Letters 82, no. 4 (May 2002): 173–78. doi:10.1016/S0020-0190(01)00273-3.