Поиск в ширину и поиск в глубину (BFS и DFS)
Коротко: Поиск в ширину и поиск в глубину — два способа полностью обойти граф или дерево. BFS идёт уровень за уровнем, DFS углубляется как можно дальше, прежде чем вернуться.
Подробнее: BFS использует очередь (очередь) и в невзвешенном графе находит кратчайший путь (в рёбрах). DFS использует стек (стек) или рекурсию (рекурсия) и подходит для лабиринтов, обнаружения циклов и топологической сортировки. Оба работают за O(V + E).
Подробности
- BFS: поместить старт в очередь, всегда…
См. также: граф (структура данных), алгоритм Дейкстры, О-нотация