6 лет назад
Алгоритм DFS («Depth-first search» или «Поиск в глубину»)
Обход означает посещение всех узлов графа. «обход в глубину» или «поиск в глубину» - это рекурсивный алгоритм поиска всех вершин графа или древовидной структуры данных. В этой статье, с помощью приведенных...
3 года назад
Поиск кратчайшего пути между двумя вершинами с помощью BFS
Для графа на рисунке 1 найдём кратчайший путь между вершинами A и F. Для достижения цели мы можем: 1. Найти все пути между данными вершинами и выбрать кратчайший 2. Выбрать кратчайший путь при достижении искомой вершины Остановимся на 2-м варианте и применим BFS. BSF использует очередь для обхода вершин 1. Добавим вершину А в очередь (рис. 2) 2. Заберём первый элемент из очереди, в нашем случае А, и посмотрим на соседние с ним вершины (C, D, B). Состояние очереди на рисунке 3 3. В очередь добавляем все соседние с А вершины (рисунок 4) и помечаем вершину А как посещённую (рисунок 5) 4...