1、算法目标

给定一个带权的无向连通图,生成一颗最小生成树,使得树上所有边的权总和最小,且保证树的所有边不构成回路

2、算法思想

按照权值从小到大的顺序选择n-1条边,并保证这n-1条边不构成回路。
4、克鲁斯算法(Kreusi) - 图1

3、算法具体步骤:

step1:创建一个边类Edge,其属性包括起点start,终点end,边的权值value;
step2:根据传入的顶点vertex、顶点与顶点生成的边的权值weight,得到该图有效边(相连的边)的总条数edgenum;
step3:创建方法,获得所有的边,返回一个Edge边类数组 getEdge();
step4:创建一个方法,对获得的边类数组edge[] 按照权值大小进行排序;
★step5:创建一个方法,传入一个起点start,得到该起点的终点end;
sgep6:进行普利姆(Prim)算法,按照权值从小到大选择边,获得边后进行判断是否构成回路,若构成则选择下一个。