Вот моя интерпретация того, как алгоритм Дейкстры , как описано в википедии , будет иметь дело с приведенным ниже графиком.
Сначала он отмечает кратчайшее расстояние до всех соседних узлов, поэтому A получает 1 и Cполучает 7. Затем он выбирает соседа с текущим кратчайшим путем.Это A. Источник отмечен как посещенный и больше не будет рассматриваться.Самый короткий (и единственный) путь от источника до B через A теперь равен 12. A помечен как посещенный.Кратчайший путь от источника до пункта назначения через B составляет 13. B помечен как посещенный.Кратчайший путь от источника до C через пункт назначения равен 14, но это вдвое больше предыдущего кратчайшего пути к C, который равен 7, поэтому 14 отбрасывается.Пункт назначения теперь помечен как посещенный.
Пункт назначения отмечен как посещенный, поэтому алгоритм завершен.Вот результат:
Итак, я неверно истолковал описание?Является ли описание в Википедии неправильным?Или я как-то наткнулся на случай, который показывает, что алгоритм Дейкстры неверен (в чем я сильно сомневаюсь)?Я заметил, что выбранный путь, кажется, выбран жадным образом, но, очевидно, это одна из определяющих характеристик алгоритма, однако в этом случае он, похоже, дает неправильный результат.