Дейкстра — это стандартный алгоритм для определения кратчайшего пути между двумя узлами в (положительном) взвешенном графе.

Важным моментом здесь является использование приоритетной очереди для сортировки кратчайших путей. Если текущий узел является пунктом назначения, мы возвращаем текущий путь (кратчайший); в противном случае для всех соседей текущего узла мы ставим в очередь новый путь к ним. Просматриваем график…