En düşük kapsayan ağaç (MST), ağırlıklı ve bağlantılı bir grafın tüm köşelerini en düşük toplam kenar ağırlığıyla bağlar ve döngü içermez. Kruskal ve Prim, iki klasik açgözlü algoritmadır.
Kruskal (kenarları sırala, union-find)
Tüm kenarları ağırlığa göre sırala; döngü oluşturmayan en ucuz kenarı ekle.
():
parent = ((n))
():
parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
x
mst, total = [],
w, u, v (edges):
ru, rv = find(u), find(v)
ru != rv:
parent[ru] = rv
mst.append((u, v, w)); total += w
mst, total
