Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
# def kruskal(matr):
if __name__ == '__main__':
matr_prim = [
[0, 6, 2, 4, 0, 0, 0, 0],
[6, 0, 0, 0, 7, 3, 0, 0],
[2, 0, 0, 8, 8, 5, 0, 4],
[4, 0, 8, 0, 1, 0, 0, 0],
[0, 7, 0, 1, 0, 0, 4, 0],
[0, 3, 5, 0, 0, 0, 6, 0],
[0, 0, 0, 0, 4, 6, 0, 5],
[0, 0, 4, 0, 0, 0, 5, 0]
]
prim(matr_prim)
Edge : Weight
0-2:2
0-3:4
3-4:1
2-7:4
4-6:4
2-5:5
5-1:3
parent = []
rank = []
print("Edge: Weight:")
for u, v, weight in result:
print(f"{u} -- {v} == {weight}")
if __name__ == '__main__':
g = Graph(8)
g.addEdge(0, 1, 6)
g.addEdge(0, 2, 2)
g.addEdge(0, 3, 4)
g.addEdge(1, 4, 7)
g.addEdge(1, 5, 3)
g.addEdge(2, 7, 4)
g.addEdge(2, 5, 5)
g.addEdge(2, 3, 8)
g.addEdge(3, 4, 1)
g.addEdge(4, 6, 4)
g.addEdge(5, 6, 6)
g.addEdge(6, 7, 5)
# Function call
g.KruskalMST()
Результат:
Edge: Weight:
3 -- 4 == 1
0 -- 2 == 2
1 -- 5 == 3
0 -- 3 == 4
2 -- 7 == 4
4 -- 6 == 4
2 -- 5 == 5
6. Выводы