克鲁斯卡尔算法求图的最小生成树

克鲁斯卡尔算法通过排序边的权值,从小到大选取边,避免形成回路,来构建图的最小生成树。该算法在连接所有顶点的过程中,会舍弃导致回路的边。
摘要由CSDN通过智能技术生成

在这里插入图片描述克鲁斯卡尔算法就是:先将图中所有的边的权值,从小到大排序,然后,在不构成回路的前提下,依次选择最短的路径的边,如果加入某个边构成回路,则这条边舍弃,再接着取下一条边,直到连接所有顶点
代码:

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,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值