Алгоритм Дейкстры — различия между версиями

Материал из ALL
Перейти к: навигация, поиск
(Новая страница: «'''Алгоритм Дейкстры''' — это алгоритм нахождения минимальных расстояний и маршрутов от з…»)
 
Строка 30: Строка 30:
 
* Заметим, что оптимальный маршрут из пункта '''n''' в пункт '''k''' имеет длину '''s<sub>nk</sub>''' и вид '''{n, ... , p<sub>p<sub>k</sub></sub>, p<sub>k</sub>, k}'''.
 
* Заметим, что оптимальный маршрут из пункта '''n''' в пункт '''k''' имеет длину '''s<sub>nk</sub>''' и вид '''{n, ... , p<sub>p<sub>k</sub></sub>, p<sub>k</sub>, k}'''.
 
== Другие алгоритмы: ==
 
== Другие алгоритмы: ==
*[[Алгоритм Джонсона]];
+
*[[алгоритм Дейкстры]];
*[[Алгоритм Флойда]];
+
*[[алгоритм Джонсона]];
*[[Алгоритм Ху]].
+
*[[алгоритм Флойда]];
 +
*[[алгоритм Ху]].
 
== Ссылки ==
 
== Ссылки ==
 
* [[Участник:Logic-samara]]
 
* [[Участник:Logic-samara]]
 
[[Категория:Логистика]][[Категория:Алгоритмы]]
 
[[Категория:Логистика]][[Категория:Алгоритмы]]

Версия 17:29, 1 февраля 2016

Алгоритм Дейкстры — это алгоритм нахождения минимальных расстояний и маршрутов от заданного пункта до остальных.

Обозначения

Введём обозначения.

k – число пунктов (вершин графа);

V – множество вершин графа (пунктов);

E – множество "не просмотренных" вершин;

J – множество конечных вершин дуг исходящих из "просматриваемой" вершины;

G – множество дуг графа (дорог между пунктами);

dij – расстояние от пункта i до пункта j, зависящее от направления;

snj – наименьшее расстояние от пункта n до пункта j;

pj – пункт в оптимальном маршруте, предшествующий пункту j;

n – начальный пункт.

Алгоритм

Входные данные: k; n; V; G; {d12, d13, ..., dk k-1}.

АДЕ01.JPG

Выходные данные: {sn1, sn2, ..., snk}; {p1, p2, ..., pk}.

  • Заметим, что оптимальный маршрут из пункта n в пункт k имеет длину snk и вид {n, ... , ppk, pk, k}.

Другие алгоритмы:

Ссылки