PYTHON АЛГОРИТМ КРАСКАЛА
Алгоритм Краскала - это алгоритм поиска минимального остовного дерева в связном взвешенном графе. В Python его можно реализовать следующим образом:
graph = { 'A': {'B': 3, 'D': 1}, 'B': {'A': 3, 'C': 1, 'D': 3}, 'C': {'B': 1, 'D': 1}, 'D': {'A': 1, 'B': 3, 'C': 1}}minimum_spanning_tree = set()edges = []for vertex in graph: for neighbor, weight in graph[vertex].items(): edges.append((weight, vertex, neighbor))edges.sort()for weight, vertex1, vertex2 in edges: if vertex1 not in minimum_spanning_tree or vertex2 not in minimum_spanning_tree: minimum_spanning_tree.add(vertex1) minimum_spanning_tree.add(vertex2)print(minimum_spanning_tree)
Алгоритм Краскала начинается со сортировки ребер графа по возрастанию весов. Затем алгоритм проходит по всем ребрам в отсортированном списке и, если добавление ребра не создаст цикла, оно добавляется в остовное дерево.
Алгоритм Краскала имеет сложность O(E log E), где E - количество ребер в графе.
ВСЯ СЛОЖНОСТЬ АЛГОРИТМОВ ЗА 11 МИНУТ - ОСНОВЫ ПРОГРАММИРОВАНИЯ
Повторная проверка на дальность 24 300 м показало полную плоскость поверхности
Минимальное остовное дерево в графе. Алгоритм Краскала.
Алгоритм Форда - Фалкерсона
Граф(17 урок)(Алгоритм Краскала. Улучшение алгоритма. Реализация алгоритма на python.СНМ.)
Грокаем алгоритмы глазами программиста
Новые материалы:
- Python проверка на nan
- Django переменные окружения
- Python куда устанавливается
- Ide для python portable
- Библиотека plotly python
- Python бот skype
- Ипотечный калькулятор на python
- Функция clear python
- Python обучение без учителя
- Python скачать wing
- Flask post запрос
- Dataframe чем отличается loc и iloc python
- Python шифрование строки
- Fullstack разработчик на python skillfactory