Блог пользователя YoungCoder

Автор YoungCoder, 9 лет назад, По-русски

Интересует вопрос, есть ли более быстрый способ найти кратчайший путь в взвешенной матрице (значения положительны), чем алгоритм Дейкстры? UPD: идти можно только по 4 направлениям (вврех, вниз, влево, вправо).

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Можешь попробовать вот этот алгоритм:

https://en.wikipedia.org/wiki/Shortest_Path_Faster_Algorithm

»
9 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

На практике -- скорее нет.

В теории -- есть линейный алгоритм поиска кратчайшего пути в неориентированном взвешенном графе (алгоритм Торупа). Впрочем, сложность реализации и константа делают его применение на контестах совершенно неоправданным. Даже больше скажу -- я не слышал, чтобы кто-то не то что написал его, но даже просто полностью разобрался.