蓝桥-树-图最小生成树2

package com.jkxy.more;

public class MTreeOPho2 {
    static int k,i,j,min,sum,count=0,n=6,m=9;
    static int e[][]={{0,0,0,0,0,0,0},
                        {0,0,1,2,999,999,999},
                        {0,1,0,6,11,999,999},
                        {0,2,6,0,9,13,999},
                        {0,999,11,9,0,7,3},
                        {0,999,999,13,7,0,4},
                        {0,999,999,999,3,4,0}};
    static int dis[]={0,0,1,2,999,999,999};
    static int[] book={0,1,0,0,0,0,0};
    public static void main(String[] args) {
        count++;
        while(count<n){
            min=999;
            for(i=1;i<=n;i++){
                if(book[i]==0&&dis[i]<min){
                    min=dis[i];j=i;
                }
            }
                book[j]=1;count++;sum=sum+dis[j];
            for(k=1;k<=n;k++){
                if(book[k]==0&&dis[k]>e[j][k])
                    dis[k]=e[j][k];
            }
        }
        System.out.print(sum);
    }
}
/*生成树法。定义图对应的二维数组,定义点离树的距离的dis[],book[]用以标记是否已经加入树。
  先找出距离树最近的点j,j为中间点,扫描所有边,dis[k]>e[j][k]则e[j][k]赋值给dis[k]*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值