Описание задачи
Необходимо реализовать алгоритм поиска кратчайшего пути от заданной начальной вершины до всех остальных вершин графа, избегая повторного посещения уже обработанных вершин. Это модификация алгоритма Дейкстры для повышения эффективности.
На вход подается:
* n: Целое число (int), количество вершин в графе.
* edges: Список кортежей (list of tuples), представляющих ребра графа, где каждый кортеж имеет формат (u, v, w), где u и v – индексы вершин, а w – вес ребра между ними.
* src: Целое число (int), индекс начальной вершины для поиска кратчайшего пути.
На выходе возвращается:
* dist: Список целых чисел (list of int) длиной n, где dist[i] представляет собой длину кратчайшего пути от начальной вершины (src) до вершины с индексом i. Если путь до вершины i не существует, то dist[i] будет равно бесконечности (float('inf')).
Режим обучения Готово
Объяснение решения уже подготовлено. Нажмите кнопку, чтобы посмотреть.
Ваше решение
Подсказка (готовое решение)
def dijkstra(n, edges, src):