Задача о кратчайшем пути между двумя пунктами

Известна схема дорог. Требуется перевезти груз из одного пункта в другой по маршруту минимальной длины.

Двигаясь от конечного пункта к начальному пункту, каждой вершине припишем число по определенным правилам. Конечной вершине присвоим число 0. Если i-я вершина в направлении от начального пункта к конечному пункту непосредственно соединена с вершинами j1,…, jk, которым приписаны числа r(j1),…, r(jk), то вершине i приписывается число r(i) = (r(js) + t(i, js)), где t(i, js) – длина ребра (i, js).

Пусть этот минимум достигается для вершины jm. Тогда ребро (i, jm) покажем двумя чертами со стрелкой от i к jm. Если таких jm несколько, то на этом шаге будет несколько двойных ребер.

Число, приписанное начальному пункту, равно минимальной длине искомого маршрута. Двигаться от начального пункта к конечному пункту нужно по двойным ребрам со стрелками.

Пример 3. Найдем маршрут минимальной длины от пункта 1 к пункту 11.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: