Символ "∞" означает, что связь не существует.
Над диагональю запишем длины кратчайших путей не более чем из одного ребра (в противном случае ∞).
Например, , d (D,А) = ∞, .
Под диагональю запишем длины кратчайших путей не более чем из двух ребер (в противном случае ∞).
2). Построим табл. (Т3).
Над диагональю запишем длины кратчайших путей не более чем из трех ребер (в противном случае ∞).
Например, d1 (B,C) = d1 (B, A)+d1 (A, D) + d1 (D, C) =++ = ,
d2 (B, C) = d2 (B, D) + d2 (D, C) = + =;
d (B, C) = min {d1 (B, C); d2 (B, C)} = min { ;} = .
Таким образом, в табл. Т3 записаны кратчайшие пути между вершинами данного графа.
Задача 4.Найти кратчайшие пути между всеми вершинами графа (см.рис. 2) через транзитные вершины.
1).Построим табл. (Т*,А).
Запишем в клетки диагонали метки вершин A, B, C, D. Для них
d (A, A) = d (B, B) = d (C, C) = d (D, D) = d (E, E) = ∞.
Над диагональю запишем длины кратчайших путей не более чем из одного ребра (в противном случае ∞).
Например,, , d (B, C) = ∞ .
Под диагональю запишем длины кратчайших путей не более чем из двух ребер через транзитную вершину А.
Например, длина пути BD через вершину А равна
d1 (B, D) = d (В, А) + d (А, D) = +=;
d2 (B, D) =, d (B, D) = min {;} =;
d (B, B) = d (B, A) + d (A, B) = + =. d (A, C) = ∞.
2) Построим табл. (Тв, с ).
таблица (Т*,А) таблица (Тв, с )
таблица(ТD)
Над диагональю запишем длины кратчайших путей не более чем из трех ребер через транзитную вершину В (через А, или В, или АВ).
Например, d (С, A) =d (С, B) + d (B, A) = = + =;
d1 (С, D) = d1 (С, В) + d1 (В, D) = + =;
d2 (С, D) = d2 (С, В) + d2 (В, A) +d2 (A, D) = + + =;
d (C, D) = min{d1 (C, D); d2 (C, D)} = min {;} =;
d (A, A) =d (A, B) + d (B, A) = + =;
d (D, D) =d (D, B) + d (B, D) = + =;
d1 (A, D) =, d2 (A, D) = d2 (A, B) + d2 (B, D) = + =;
d (A, D) = min {;} =.
Под диагональю запишем длины кратчайших путей не более чем из четырех ребер через транзитную вершину С (через А, или В, или С, или АВ, или СВ, или ВА и т.д.).
Например, d1 (D, A) = d1 (D, B) + d1 (B, A) = + =;
d2 (D, A) = d2 (D, C) + d2(C, B) + d2 (B, A) = + + =;
d (D, A) = min {,} =;
d1 (D, D) = d1 (D, B) + d1 (B, D) = + =;
d2 (D, D) = d2 (D, C) + d2 (C, B) + d2 (B, D) = + + =;
d3 (D, D) = d3 (D, С) + d3 (C, B) + d3 (B, A) + d3 (A, D) = + + + =;
d (D, D) = min {;;} = .
3).Построим табл.ТD.
В каждую клетку запишем длину кратчайшего пути, не более чем из пяти ребер (через А, или В, или С, или В, или АВ, или ВА, или АД, или ДС и т.д.). Например,
d1 (A, A) = d1 (A, B) + d1 (B, A) = = + =;
d2 (A, A) = d2 (A, D) + d2 (D, B) + d2 (B, A) = + + =;
d3 (A, A) = d3 (A, D) + d3 (D, C) + d3 (C, B) + d3 (B, A) = + + + =;
d (A, A) =min {;;} =;
Таким образом, в табл. ТD записаны кратчайшие пути между всеми вершинами данного графа через транзитные вершины.
Задача 5. Построить минимальное дерево (рис. 3).
таблицу Т*
Решение. Построим таблицу Т* следующим образом.
Запишем в диагональные клетки обозначения вершин A, B, C, D, E F, E.
Над диагональю запишем длины кратчайших путей, но не более чем из одного ребра (в противном случае поставим ∞).
Рис. 4 Рис. 5 Рис. 6
Рис. 7
Под диагональю запишем только длины ребер минимального дерева .
Начинаем с пустого дерева и добавляем к нему ребра в порядке возрастания их длин, пока не получим набор ребер, объединяющий все вершины графа.
1).Начнем с ребра, имеющего наименьшую длину, т.е. АВ. Запишем над ребром АВ число 1+. Затем возьмем ребро DF и запишем над ним число 2+ (рис. 4).
2).Добавим ребро длиной 3, соединяющее вершины В и E (3+), а затем ребро длиной 4 (4+). Мы получим ситуацию, представленную на рис. 5.
3).К результирующему графу добавим ребро длиной 6 (5+) (рис.6).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.