В следующей таблице указаны все шаги алгоритма. Первый столбец показывает узел, который посещен, второй столбец показывает узлы, которые уже были исследованы (но еще не посещены), а также соседи текущего посещенного узла. Все узлы представлены в виде триплетов (n, d, p)
, где n
- это имя узла, d
- это расстояние от начального узла, а p
- это узел-предшественник. Как уже упоминались другие ответы и комментарии, вы всегда будете посещать исследуемый узел с минимальным расстоянием:
visited node | explored nodes
-------------+-------------------------
(1, 0, -) | (2, 1, 1) (3, 30, 1)
(2, 1, 1) | (3, 30, 1) (4, 2, 2)
(4, 2, 2) | (3, 30, 1) (5, 3, 4)
(5, 3, 4) | (3, 4, 5) //distance of node 3 is updated
(3, 4, 5) |
Следовательно, путь к узлу 3
фактически проходит по всем остальным узлам, как и ожидалось.