Алгоритм Дейкстры применяется для поиска кратчайших путей из одного истока в сетях с неотрицательными весами. 3
Процесс выполнения алгоритма: 2
- Выбрать начальную вершину, от которой до другой заданной вершины отыскивается кратчайший путь. 2 Остальные вершины включить в перечень невыбранных. 2 Определить расстояния от заданной начальной вершины до всех остальных. 2
- Выбрать новую вершину по наименьшему расстоянию, исключив её из перечня невыбранных. 2 Число невыбранных вершин уменьшить на 1. 2 Дугу перехода, определившую наименьшее расстояние, включить в перечень дуг кратчайшего пути. 2
- Определить расстояния от новой выбранной вершины до всех невыбранных с учётом пройденных от начальной точки расстояний. 2 Если расстояние до некоторой вершины меньше ранее определённого, то заменить его новым значением. 2 Отбрать наименьшее расстояние и перейти к новой вершине, исключив её из перечня невыбранных. 2 Число невыбранных вершин уменьшить на 1. 2 Дугу перехода включить в перечень дуг кратчайшего пути и так далее, пока не будет достигнут заданный конечный пункт или не будут выбраны все вершины графа. 2
Алгоритм Дейкстры относится к «жадным» алгоритмам: на каждом шаге к списку выбранных вершин добавляется та из оставшихся вершин, расстояние до которой от начальной вершины меньше, чем для других оставшихся вершин. 2