14. Алгоритм Дийкстры
Дан граф с разными весами ребер – создаем матрицу столбцов - кол-во вершин, строк – 2
Берем вершину 1 и всем смежным с ней вершинам записываем в нижнюю строку 1 – а в
верхнюю вес ребра, которое ведет в эту вершину и так просматриваем все смежные ребра.
Когда смежных ребер больше нет - помечаем вершину как пройденную и больше уже к ней не возвращаемся и переходим к вершине у которой наименьшее число сверху
(пусть это будет вершина 2).
Всем смежным с 2 вершинам внизу пишем 2 а вверху- то что стоит над 2 + вес ребра который ведет в эту вершину.
Если же вдруг число сверху у вершины смежной с 2 уже есть, то если наше значеие меньше то присваиваем его сверху и снизу
если больше нечего помечать – переходим к следующей вершине с наименьшим числом сверху и тд.
Когда все вершины будут помечены – таким путем – числа сверху это и будут кратч пути от вершины 1 до нужной.
Трудоемкость алгоритма Дийкстры
Худший случай – когда вершина, в которую мы ищем кратчайший путь, получит постоянную метку последней .
Тогда у алгоритма будет n-1 итерация. Каждая итерация выполняется за время O(n).
Восстановление пути – O(n).
Общая трудоемкость алгоритма Дийкстры – O(n2)
- 1.Трудоемкость алгоритмов
- 2.Алгоритмы сортировки
- 3.Сортировка слиянием
- 4.Бинарные поисковые деревья
- 5.2-3-4 Деревья
- 6.Хеширование
- 7. Поиск подстроки. Алгоритм Кнута-Морриса- Пратта.
- 8. Графы. Структуры данных для представления графов
- 9. Алгоритм нахождения Эйлерова цикла
- 10 .Поиск в ширину(волновой алгоритм)
- 11.Поиск в глубину
- 12.Жадные алгоритмы и матроиды
- 13.Задача об остовном дереве. Алгоритмы Прима и Краскала, их реализация
- 14. Алгоритм Дийкстры
- 15. Алгоритм Флойда
- 16. Паросочетания в двудольных графах
- 17. Потоки и разрезы в сетях. Алгоритм Форда-Фалкерсона
- 18. Задача о рюкзаке
- 21. Классы p и np. Полиномиальное сведение.
- 22. Np- полные задачи. Теорема Кука-Карпа-Левина. Np-полнота задачи о клике
- 23. Алгоритмы с гарантированной оценкой точности. Задача упаковки
- 24.Метод локального поиска и поиска с запретами. Задача о максимальном разрезе.
- 25.Метод ветвей и границ. Задача коммивояжера.
- 26. Задача коммивояжера с неравенством треугольника. Алгоритм Кристофидеса
- 27.Задача о независимом множестве, точные и эвристические алгоритмы ее решения
- 28.Задача о раскраске графа, точные и эвристические алгоритмы ее решения.
- 31.Задача о раскраске хордальных графов
- 32.Генетические алгоритмы
- 33. Page Rank
- 34 Криптосистема с открытым ключом. Криптосистема rsa
- 35.Задача разделения секрета.
- 36. Алгоритмы сжатия информации