Содержание
- 2. Определения Пусть G = (V, E) – ориентированный граф. Поставим в соответствие каждому ребру e∈E в
- 3. Нахождение кратчайшего пути из одного источника
- 4. Алгоритм Дейкстры Идея алгоритма Дейкстры нахождения кратчайших путей из одной вершины во все другие состоит в
- 5. Алгоритм Дейкстры Вход: G= (V, E) – ориентированный граф, v0 ∈V – источник, c : E
- 6. Алгоритм Дейкстры Метод: Строим такое множество S ⊆ V, что кратчайший путь из источника в каждый
- 7. Алгоритм Дейкстры - O(n2) { S ← {v0}; D[v0] ← 0; для всех v ∈V \
- 8. Алгоритм Дейкстры. Пример № S w D[w] D[1] D[2] D[3] D[4] 0 {0} - - 2
- 9. Алгоритм Беллмана-Форда Задача: Для заданного взвешенного графа G=(V, E) найти кратчайшие пути из заданной вершины s
- 10. Алгоритм Беллмана-Форда
- 11. Алгоритм Беллмана-Форда bool FordBellman(s): for v ∈ V d[v] ← ∞ d[s] ← 0 for i
- 12. Алгоритм Беллмана-Форда. Пример t z y x s 7 -3 -4 2 9 8 7 -2
- 13. Алгоритм Беллмана-Форда Оценка сложности алгоритма: Инициализация занимает Θ(V) времени, каждый из |V|−1 проходов требует Θ(E) времени,
- 14. Нахождение кратчайших путей между всеми парами вершин
- 15. Алгоритм Флойда-Уоршолла Пусть G= (V, E) – ориентированный граф, c : E →R+ – функция стоимости
- 16. Алгоритм Флойда-Уоршолла Обозначим через dij(k) стоимость кратчайшего пути из вершины с номером i в вершину с
- 17. Алгоритм Флойда-Уоршолла Floyd-Warshall(M, n) { D(0) ← M; for k ← 1 to n do for
- 18. Транзитивное замыкание графа Пусть G= (V, E) ориентированный граф. Транзитивным замыканием графа G называется граф G′
- 19. Построение транзитивного замыкания графа. Пример 1 3 2 5 4 1 3 2 5 4
- 20. Построение транзитивного замыкания графа Обозначим через tij(k) наличие пути из вершины с номером i в вершину
- 22. Скачать презентацию