Time and Space Complexity
Урок 7 из 9 курса Алгоритм Дейкстры — Алгоритмы на графах на Coddy.
Временная сложность:
- O(V2 + V*E) в данном виде (каждый из V раундов сканирует вершины для поиска минимума и сканирует ребра для релаксации). С использованием бинарной кучи и списка смежности сложность улучшается до O((V + E) log V).
Пространственная сложность:
- O(V) для массивов distance и visited (плюс входные ребра).
Резюме:
- Алгоритм Dijkstra находит кратчайшие расстояния от одного источника для неотрицательных весов, жадно фиксируя ближайшую вершину и релаксируя её ребра.
- Он не работает с отрицательными ребрами; для них используйте Bellman-Ford.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Алгоритм Дейкстры — Алгоритмы на графах
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)