Опубликован: 27.09.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Нижегородский государственный университет им. Н.И.Лобачевского
Лекция 15:

Кратчайшие пути

< Лекция 14 || Лекция 15: 12 || Лекция 16 >

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

Допустим, на некотором шаге описанного выше алгоритма построено дерево с множеством вершин A, а для каждой вершины y\in
\overline{A} известна вершина x_{0} =F(y), на которой достигается наименьшее значение величины \Delta(y)=\min\{\delta (x)+w(x,y)\}, где минимум берется по всем вершинам x\in A. Тогда на этом шаге следует выбрать вершину y\in \overline{A} с наименьшим значением величины \Delta
(y) и присоединить к дереву ребро (F(y),y). После этого для каждой вершины z, еще не принадлежащей к дереву, значения \Delta
(z) и F(z) уточняются следующим образом: если \Delta (y)+w(y,z)< \Delta (z), то следует положить F(z)=y, \Delta (z)=\Delta (y)+w(y,z). Вершина F(y) может рассматриваться как предполагаемый отец вершины y в геодезическом дереве (если все множество \overline{A} состояло бы из одной вершины y, то F(y) была бы ее истинным отцом). Величина \Delta(y) представляет собой оценку кратчайшего пути из a в y, она равна весу кратчайшего из путей, проходящих только через вершины множества A. После того, как вершина y присоединяется к дереву, значения F(y) и \Delta(y) больше не изменяются, F(y) является отцом вершины y в геодезическом дереве, а \Delta(y)=\delta (y). В целом алгоритм можно представить следующим образом:

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

  1. F(a):=a
  2. A:=\{ a\}
  3. for x\in V do \{\Delta (x):=w(a,x) ; F(x):=a\}
  4. while A\ne V do
  5. выбрать вершину y\in \overline{A} с наименьшим значением \Delta (y)
  6. A:=A\cup \{ y\}
  7. for z\in \overline{A} do
  8. if \Delta (y)+w(y,z) < \Delta (z)
  9. then \{F(z)=y, \Delta (z)=\Delta (y)+w(y,z)\}
< Лекция 14 || Лекция 15: 12 || Лекция 16 >
Татьяна Наумович
Татьяна Наумович

Скажите, пожалуйста, можно ли еще получить документ о прохождении курса ("Графы и алгоритмы", декабрь 2020) после предоставления всех дополнительных необходимых документов?
Или нужно проходить заново?

Петр Петров
Петр Петров

произведение графов К(2)*О(4) фактически 4 отдельных графа К(2)?

Михайло Бабин
Михайло Бабин
Украина
Madi Sam
Madi Sam
Казахстан, rwre, rtsgtr