Skip to content

NotBadAlgorithm/Dijkstra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Алгоритм Дейкстры

Код основан на книге "Грокаем Алгоритмы" Адитьи Бхаргавы

Теория

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

Алгоритм Дейкстры состоит из четырёх шагов:

  1. Найти узел с наименьшей стоимостью (то есть узел, до которого можно добраться за минимальное время).
  2. Проверить, существует ли более дешевый путь к соседям этого узла, и если существует, обновить их стоимости.
  3. Повторять, пока это не будет сделано для всех узлов графа.
  4. Вычислить итоговый путь

Использование кода

В файле input.txt описывается граф, в котором мы ищем кратчайшее расстояние между узлами книга и пианино.

image

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

В файле input.txt сначала через пробел указываются названия двух узлов:

  • начального - книга
  • конечного - пианино

Дальше в нескольких строках указывается веса ребер между соседними узлами. Например:

бас-гитара пианино 20

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

About

Алгоритм Дейкстры

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages