Похожие презентации:
Поветкин ДИ 2401 (ДИ-21) - Алгоритмы Дейкстра и Уоршела
1.
Построение графов ианализ кратчайших
путей
Выполнил: Поветкин Данил Константинович, студент группы ДИ-2401 (ДИ-21)
Преподаватель: Докучаев Сергей Аркадьевич
2.
Исходные данные ипостановка задачи
Задачи работы
Типы графов
Реализовать алгоритм
Граф 1: Ориентированный
Дейкстра для поиска
взвешенный граф (матрица
кратчайших путей
смежности)
Построить матрицу
Граф 2: Ориентированный
достижимости вершин по
невзвешенный граф (анализ
алгоритму Уоршелла
достижимости)
Визуализировать полученные
графы.
3.
Представлениеданных
Вершины
Рёбра
Пронумерованы от 1 до N
Вес > 0; отсутствие = 0
Матрица смежности
Хранение графа в памяти
4.
Алгоритм Дейкстра: СтруктураИнициализация
Установка начальных расстояний и приоритетной очереди
Выбор вершины
Извлечение вершины с минимальным расстоянием из
очереди
(heapq)
Релаксация рёбер
Обновление расстояний до соседних вершин
Результат
Массив кратчайших путей и восстановление пути
5.
Поддерживаемыеструктуры данных
dist[]
prev[]
Кратчайшие расстояния от
Предыдущие вершины для
стартовой вершины до всех
восстановления оптимального
остальных
пути
visited[]
Отслеживание обработанных
вершин для избежания
повторений
6.
Вывод результатовКратчайшие
расстояния
Визуализация
графа
От вершины 1 до всех остальных
Полная последовательность вершин,
вершин графа с указанием
образующих ориентированный
минимальных весов пути
взвешенный граф
7.
Матрица достижимости: АлгоритмФлойда–Уоршелла
1
Инициализация
Построение начальной матрицы
на основе рёбер графа
2 Итерация по
промежуточным
вершинам
Для каждой вершины k
проверяются пути через неё: если i
→ k и k → j, то i → j
3 Построение
матрицы
Результат: reachable[i][j] = 1, если
существует путь от i к j
8.
Вывод результатовОриентированный
граф
По матрице достижимости
Матрица достижимости
Все возможные пути в графе
9.
Ключевые выводыАлгоритм Дейкстры
Флойд–Уоршелл
Визуализация
Эффективен для поиска кратчайших
Универсальный метод анализа
Python обеспечивает мощные
путей во взвешенных графах с
достижимости для невзвешенных и
инструменты для анализа и
неотрицательными весами
взвешенных графов
графического представления
сложных структур данных
10.
Практическое применениеРеальные приложения
Дальнейшее развитие
Навигация и маршрутизация
Параллельная обработка больших графов
Сетевые протоколы
Адаптивные алгоритмы для динамических графов
Анализ социальных сетей
Интеграция машинного обучения
Оптимизация логистики
Программирование