Алгоритм Флойда определения кратчайших путей между всеми парами вершин данного графа
Алгоритм Флойда определения кратчайших путей между всеми парами вершин данного графа Если в графе р вершин, требуется отыскать Произвольно перенумеруем вершины графа числами от 1 до р. Обозначим через Числа Числа Опишем переход от чисел Разрешение вершине с номером
Если в графе р вершин, то требуется р раз вычислять Количество вычислений можно сократить. При переходе от матрицы Dk к матрице Dk+ 1 не нужно пересчитывать строку и столбец с номером Подобным образом Попросту говоря, если вершина с номером Пример. Определим длины кратчайших путей между всеми парами вершин графа, изображенного на рис. 9. Перейдем от матрицы D 0 к матрице D 1. Первую строку и первый столбец матрицы D 1 переносим из матрицы D 0.
![]() Кроме того, В матрице D 0 первом столбце и четвертой строке также стоит бесконечность, из четвертой вершины в вершину 1 пути нет, невозможно найти новые пути, выходящие из четвертой вершины с промежуточной вершиной 1. Строка 4 матрицы D 1 переписывается из матрицы D 0. Осталось рассчитать элементы Определим элементы матрицы D 2. Вторую строку и второй столбец матрицы D 2 переносим из матрицы D 1.
Находим длины Матрицы D 3, D 4, D 5 строятся аналогично. Приведем их без дальнейших пояснений (стр. 274).
|