Showing
1 changed file
with
3 additions
and
4 deletions
... | @@ -6,7 +6,7 @@ rank = dict() | ... | @@ -6,7 +6,7 @@ rank = dict() |
6 | 6 | ||
7 | def make_singleton_set(v) : | 7 | def make_singleton_set(v) : |
8 | parent[v] = v | 8 | parent[v] = v |
9 | - rank[v] = 1 | 9 | + rank[v] = 0 |
10 | 10 | ||
11 | def find(v) : | 11 | def find(v) : |
12 | if(parent[v] != v) : | 12 | if(parent[v] != v) : |
... | @@ -17,11 +17,10 @@ def union(r1, r2) : | ... | @@ -17,11 +17,10 @@ def union(r1, r2) : |
17 | if(r1 != r2) : | 17 | if(r1 != r2) : |
18 | if(rank[r1] > rank[r2]) : | 18 | if(rank[r1] > rank[r2]) : |
19 | parent[r2] = r1 | 19 | parent[r2] = r1 |
20 | - rank[r1] += rank[r2] | ||
21 | else : | 20 | else : |
22 | parent[r1] = r2 | 21 | parent[r1] = r2 |
23 | if(rank[r1] == rank[r2]) : | 22 | if(rank[r1] == rank[r2]) : |
24 | - rank[r2] += rank[r1] | 23 | + rank[r2] += 1 |
25 | 24 | ||
26 | def Kruskal(graph) : | 25 | def Kruskal(graph) : |
27 | #n = 정점의 수 / m = 엣지의 수 | 26 | #n = 정점의 수 / m = 엣지의 수 |
... | @@ -39,7 +38,7 @@ def Kruskal(graph) : | ... | @@ -39,7 +38,7 @@ def Kruskal(graph) : |
39 | F = set() | 38 | F = set() |
40 | 39 | ||
41 | index = 0 | 40 | index = 0 |
42 | - while len(F) < n - 1 : | 41 | + while len(F) <= n - 1 : |
43 | e = edge_list[index] | 42 | e = edge_list[index] |
44 | 43 | ||
45 | p = find(e[1]) | 44 | p = find(e[1]) | ... | ... |
-
Please register or login to post a comment