Обобщенный алгоритм Дейкстры

Хочу поделиться знанием, которое не является секретом, в каких-то курсах по алгоритмам оно наверняка дается, но нагуглить его совсем не просто. Поэтому пусть будет. Алгоритм Дейкстры можно обобщить на произовльную функцию длины пути, если только она удовлетворяет трем условиям: Монотонность . При добавлении ребра к пути, его длина не уменьшается. Консистентность . При добавлении одинакового ребра к путям одинаковой длины, получившиеся новые пути имеют одинаковую длину. Оптимальность префикса . Если к двум путям приписать одинаковое ребро, то кратчайший путь останется кратчайшим. Под катом я привожу доказательство корректности обобщенного алгоритма и показываю, как его применить в задаче на литкоде: Trapping rain water II .

https://habr.com/ru/articles/904508/

#дейкстра #графы #кратчайший_путь

Обобщенный алгоритм Дейкстры

Алгоритм Дейкстры можно обобщить на произовльную функцию длины пути, если только она удовлетворяет трем условиям: Монотонность . При добавлении ребра к пути, его длина не уменьшается: Консистентность...

Хабр

Век поиска кратчайшего решения задачи о кратчайшем пути

Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах , считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало. Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?

https://habr.com/ru/articles/812421/

#кратчайшее_расстояние #кратчайший_путь #алгоритмы #openstreetmap

Век поиска кратчайшего решения задачи о кратчайшем пути

Очень торопящиеся попасть из пункта А в пункт Б Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в...

Хабр

Поиск пути в ВГД-лабиринте

Проанализируем поиск кратчайшего пути в некотором лабиринте. Из каждой клетки этого лабиринта можно ходить в соседние по горизонтали, по вертикали и по диагонали. Стоимость прохода по горизонтали или по вертикали равна единице. Стоимость прохода по диагонали равна корню квадратному из двух. При поиске будем использовать только целочисленный тип данных и не допускать никаких погрешностей в вычислениях. Для поиска кратчайшего пути будет использоваться алгоритм Дейкстры.

https://habr.com/ru/articles/803123/

#лабиринт #графы #кратчайший_путь

Поиск пути в ВГД-лабиринте

Введение и постановка задачи Будем обозначать лабиринт аббревиатурой ВГД, если он. Прямоугольный и описывается матрицей размера , где в каждой клетке (ячейки матрицы) закодирован признак...

Хабр

Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях

Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях. Для для сетевиков, программистов и интересующихся.

https://habr.com/ru/articles/802519/

#дейкстра #кратчайший_путь #алгоритм_дейкстры #cisco

Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях

Вступление Первоначально алгоритм был предназначен для ориентированных графов с положительными весами рёбер. Ориентированный означает, что пройти по такому графу можно только в одном направлении . В...

Хабр