克鲁斯卡尔算法就是:先将图中所有的边的权值,从小到大排序,然后,在不构成回路的前提下,依次选择最短的路径的边,如果加入某个边构成回路,则这条边舍弃,再接着取下一条边,直到连接所有顶点
代码:
public class KruskalCase {
private int edgeNum;//边的个数
private char[] vertexs;//顶点数组
private int[][] weight;//邻接矩阵
//用int类型的最大值表示两点之间不连通
private static final int INF = Integer.MAX_VALUE;
public static void main(String[] args) {
char[] vertexs = {'A','B','C','D','E','F','G'};
int[][] weight = {
{0, 12, INF, INF, INF, 16, 14},
{12, 0, 10, INF, INF, 7, INF},
{INF, 10, 0, 3, 5, 6, INF},
{INF, INF,