Основные понятия
Граф представляет собой математическую структуру, состоящую из множества вершин (узлов) и множества рёбер (связей между вершинами).
Граф обозначается как , где – множество вершин, – множество рёбер.
Алгоритм Дейкстры нахождения кратчайших путей
Алгоритм Дейкстры используется для поиска кратчайшего пути от заданной вершины до всех остальных вершин графа с неотрицательными весами рёбер.
Шаги алгоритма:
Инициализируем расстояния до каждой вершины бесконечными, кроме начальной вершины, расстояние до которой равно нулю.
Выбираем текущую вершину с минимальным расстоянием.
Рассматриваем все смежные вершины текущей вершины и обновляем их расстояния, если новое расстояние меньше текущего.
Повторяем шаги 2-3 до тех пор, пока не будут рассмотрены все вершины.
где – вес ребра между вершинами и .
Пример применения алгоритма Дейкстры
Рассмотрим граф с вершинами и рёбрами с весами:
`` A -> B: 7 A -> C: 9 B -> C: 10 B -> D: 14 C -> D: 2 D -> A: 9 ``
Начальная вершина . Применим алгоритм Дейкстры:
Начальное состояние: , , ,
Текущая вершина , обновляем и
Текущая вершина , обновляем и
Текущая вершина , обновляем
В результате получаем кратчайшие пути от вершины до всех других вершин.