そして集中の経路を調べて圧縮する.
4799 ワード
回転:http://www.cnblogs.com/naix-x/archive/2012/06/13/2548228.html
一番小さい木を作る時は、kruskyalで密集図を作ります.どのようにすべてタイムアウトですか?Primを試してみてもいいですか?期間の最適化の下で、そして集の部分を調べて、見た杭の電報の上のドキュメント、文書の上で言うのはとても良くて、2種類の方式を言いました.
1.小さな木を大木に合併する.
2.検索する時、木を圧縮しました.
文書を見て話したほうがいいです..
キーコード:
一番小さい木を作る時は、kruskyalで密集図を作ります.どのようにすべてタイムアウトですか?Primを試してみてもいいですか?期間の最適化の下で、そして集の部分を調べて、見た杭の電報の上のドキュメント、文書の上で言うのはとても良くて、2種類の方式を言いました.
1.小さな木を大木に合併する.
2.検索する時、木を圧縮しました.
文書を見て話したほうがいいです..
キーコード:
1 int find(int x)//
2 {
3 int i,r,j;
4 r = x;
5 while(r != o[r])//
6 {
7 r = o[r];
8 }
9 i = x;
10 while (r != i)//
11 {
12 j = o[i];
13 o[i] = r;
14 i = j;
15 }
16 return r;
17 }
18 void merge(int x,int y,int w)//
19 {
20 x = find(x);
21 y = find(y);
22 if(x != y)
23 {
24 if(height[x] == height[y])//
25 {
26 height[x] = height[x] + 1;
27 o[y] = x;
28 }
29 else if(height[x] < height[y])//
30 {
31 o[x] = y;
32 }
33 else
34 o[y] = x;
35 min += w;
36 num ++;
37 }
38 }