kruskal 演算法java實現

2021-04-13 22:01:35 字數 1092 閱讀 6869

public class class_kruskal,,

,};//初始化graphic中點和點的距離,32767表示距離無窮大

//另外乙個測試用例是/*,

,,,*/

label = new int[list_graph.length];

for(int i = 0; i < label.length; i++)//初始化標記

int j = (int)(label.length + 1)*label.length/2;

weight = new int[j];//用於儲存待排序邊的權值,陣列長度m=(n+1)*n*0.5,其中節點個數為n

index_1 = new int[j];//用於儲存邊的兩個節點

index_2 = new int[j];

result = "最小生成樹的邊是:"+"/n";//記錄最小生成樹的邊

}public string get_result()//獲得變數result

//把邊按權排序,graphic是list_graphic

public  int sort()

}a = new int[index - 1];

a = address_sort(weight,weight.length);

return a;

}public int address_sort(int a,int n)//位址排序

int t;

int k;

for(int j = 0 ; j < n-1; j++)}}

return res;

}public void min_tree()//求最小生成樹}}

else}}

}else}}

public boolean judge(int a)//判斷標記是否都是0

}return true;

}public static void main(string args) //主函式

{class_kruskal ck = new class_kruskal();

ck.min_tree();

system.out.println(ck.get_result());

kruskal演算法(C 實現)

templatebool kruskal edgenodet next i,j,c 把邊放到最小堆 minheap h 1 h.initialize e,e,e unionfind u n k 0 while e k n 1 deactivatepos h.deactivate return k n...

Kruskal演算法(c 實現)

演算法原理 1.將邊的權值從小到大排列 2.構造輔助陣列root n n為節點個數 3.按照邊的權值從小到大的順序考察各條邊 4.關鍵 如何判別被考察邊的兩個頂點是否位於兩個連通分量 用到輔助函式 先將輔助函式各項初始化為 1,如果root i 為 1 則頂點就為該連通分量的 跟 對於邊 u,v 設...

Kruskal演算法的設計與實現

功能模組 kruskal 演算法的設計與實現 win tc除錯通過 include stdio.h include conio.h define max 30 typedef struct edge typedef struct graph typedef struct node alist voi...