GoalScope — min_spanning_tree_kruskal (Qwen2.5-Coder-32B-Instruct) — hover a token to see the patched verbalization
↵
<code>↵
def min_spanning_tree_kruskal(n, edges):↵
"""Kruskal's algorithm to find Minimum Spanning Tree."""↵
def find(parent, i):↵
if parent[i] == i:↵
return i↵
return find(parent, parent[i])↵
↵
def union(parent, rank, x, y):↵
xroot = find(parent, x)↵
yroot = find(parent, y)↵
↵
if rank[xroot] < rank[yroot]:↵
parent[xroot] = yroot↵
elif rank[xroot] > rank[yroot]:↵
parent[yroot] = xroot↵
else:↵
parent[yroot] = xroot↵
rank[xroot] += 1↵
↵
edges.sort(key=lambda item: item[2])↵
parent = list(range(n))↵
rank = [0] * n↵
mst = []↵
e = 0↵
i = 0↵
↵
while e < n - 1:↵
u, v, w = edges[i]↵
i += 1↵
x = find(parent, u)↵
y = find(parent, v)↵
↵
if x != y:↵
e += 1↵
mst.append((u, v, w))↵
union(parent, rank, x, y)↵
↵
return mst↵
</code>