Для решения задачи о кратчайшем пути между пунктами с использованием алгоритма поиска пути можно следовать таким шагам на примере алгоритма Дейкстры: 14
- Построить граф. 4 Для аккуратного построения по таблице удобно начинать с вершины, у которой больше всего связей (нарисовать её со связанными с ней вершинами и рёбрами между ними). 4 Затем аккуратно достроить связи между уже нарисованными вершинами и потом достроить граф оставшимися вершинами и рёбрами. 4
- Отметить начало и конец. 4 Около каждой из вершины, кроме начальной, оставить временную метку — бесконечности, а около начальной вершины — метку 0, ведь нахождение кратчайшего пути начинаем с неё. 4
- Начать со стартовой вершины. 4 Рассматривать возможные передвижения из неё. 4
- Рассчитать новую временную метку. 4 Для этого сложить временную метку у исходной вершины с весом ребра, проходящего к необходимой вершине. 4
- Определить, является ли новая метка меньше чем предыдущая. 4 Если да, то предыдущую зачёркивают и пишут новую временную метку. 4
- Рассмотреть все вершины. 4 Причём нельзя рассматривать уже пройденные вершины, только те, что имеют временные метки. 4 Чтобы определить, какую следующую вершину необходимо рассматривать, пользуются правилом: «У кого меньше значение временной метки, тот и следующий». 4
- Найти метку возле финального пункта назначения. 4 Она и будет ответом на задачу. 4
Алгоритм Дейкстры работает только для графов без рёбер отрицательного веса. 1