GoalScope — kruskal_mst (Qwen2.5-Coder-32B-Instruct) — hover a token to see the patched verbalization
↵
<code>↵
def kruskal_mst(edges, n):↵
"""Kruskal's algorithm to find Minimum Spanning Tree of a given connected, undirected and weighted graph"""↵
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 = []↵
rank = []↵
↵
for node in range(n):↵
parent.append(node)↵
rank.append(0)↵
↵
mst = []↵
e = 0↵
i = 0↵
↵
while e < n - 1:↵
u, v, w = edges[i]↵
i = i + 1↵
x = find(parent, u)↵
y = find(parent, v)↵
↵
if x != y:↵
e = e + 1↵
mst.append([u, v, w])↵
union(parent, rank, x, y)↵
↵
return mst↵
</code>