Вопрос № 183210: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: В заданном графе алгоритмом Дейкстры найти кратчайший путь от начальной вершины до конечной
Вопрос № 183210:
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: В заданном графе алгоритмом Дейкстры найти кратчайший путь от начальной вершины до конечной Номер начальной вершины 2, номер конечной вершины 10. Заранее спасибо.
В алгоритме Дейкстры вводятся вспомогательные массивы T[1..p] - массив длин кратчайшего пути от s данной вершины. X[1..p] - булевское значение, показывающее, что путь найден. H[1..p] - массив вершин, предшействующих в кратчайшем пути данной. Вначале массив T инициализируется ∞, все X[v]=0 Отмечаем вершину 2. T[2]=0 X[2]=1 H[2]=0
T={∞,0,∞, ∞, ∞, ∞, ∞, ∞, ∞, ∞} X={0, 1, 0, 0, 0,
0, 0, 0, 0, 0 } Обходим все непомеченные вершины, смежные с 2. Если для вершины u T[u]>T[v]+C[v,u], найден более короткий путь из s в u через м. Запоминаем его. T[1]=1 H[1]=2 T[4]=6 H[4]=2 T[5]=7 H[5]=2 Кратчайший путь из всех полученных - путь к вершине 1. Помечаем ее. X[1]=1 T={1, 0, ∞, 6, 7, ∞, ∞, ∞, ∞, ∞} X={1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } Назначаем 1 текущей.
Обходим все непомеченные в
ершины, смежные с 1. T[3]=4 H[1]=1 Кратчайший путь из всех полученных - путь к вершине 3. Помечаем ее. X[3]=1 Назначаем его текущим. T={1, 0, 4, 6, 7, ∞, ∞, ∞, ∞, ∞} X={1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }
Обходим все непомеченные вершины, смежные с 3. T[6]=8 H[6]=3 Кратчайший путь из всех полученных - путь к вершине 4(полученный на первом шаге). Помечаем ее. X[4]=1 Назначаем его текущим. T={1, 0, 4, 6, 7, 8, ∞, ∞, ∞, ∞} X={1,
1, 1, 1, 0, 0, 0, 0, 0, 0 }
Обходим все непомеченные вершины, смежные с 4. T[7]=15 H[7]=4 Кратчайший путь из всех полученных - путь к вершине 5. Помечаем ее. X[5]=1 Назначаем его текущим. T={1, 0, 4, 6, 7, 8, 15, ∞, ∞, ∞} X={1, 1, 1, 1, 1, 0, 0, 0, 0, 0}
Обходим все непомеченные вершины, смежные с 5. Путь к вершине 7 через 5 оказывается более коротким, чем через 4. T[7]=9 H[7]=5 Кратчайший пу
ть из всех полученных - путь к вершине 6. Помечаем ее. X[6]=1 Назначаем его текущим. T={1, 0, 4, 6, 7, 8, 9, ∞, ∞, ∞} X={1, 1, 1, 1, 1, 1, 0, 0, 0, 0}
Обходим все непомеченные вершины, смежные с 6. T[9]=14 H[9]=6 Кратчайший путь из всех полученных - путь к вершине 7. Помечаем ее. X[7]=1 Назначаем его текущим. T={1, 0, 4, 6, 7, 8, 9, ∞, 14, ∞} X={1, 1, 1, 1, 1, 1, 1, 0, 0, 0}
Обходим все непомеченные вершины, смежные с 7. T[10]=13
H[10]=7 T[8]=16 H[8]=7 Кратчайший путь из всех полученных - путь к вершине 10. Помечаем ее. Так как 10 - это конечная вершина, алгоритм закончен. T={1, 0, 4, 6, 7, 8, 9, ∞, 14, 13} X={1, 1, 1, 1, 1, 1, 1, 0, 0, 1} Кратчайший путь к из 2 к 10 проходит через 5 и 7 и равен 13.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.