Что-то должно быть не так в моем понимании алгоритма. Как это должно работать на следующем графике.
Насколько я понимаю, если начальная вершина равна (5), то алгоритм пойдет 5-> 4-> 1, а затем завершится. У вершины (2) все еще будет бесконечность, поскольку это вес.
из Википедии:
если наименьшее предварительное расстояние среди узлов в невидимом наборе равно бесконечности (при планировании полного обхода), тогда остановитесь. Алгоритм завершен.
![Graph](https://i.stack.imgur.com/0vyJA.png)