对贪心法求解最小代价生成树的理解

简单来说,最小代价生成树就是在图中找到一颗权值之和最小的树。最著名的就是Kulxx和prim算法。

贪心法的简介:

能用贪心法求解的问题的解可以表示成n-元组,一一考察解集中的每一个看他是否满足约束条件。使得目标函数取得最大值。

能用贪心法求解的问题,有最优子结构和符合贪心选择性质。

最小代价生成树的贪心算法


EsetType SpanningTree(EsetType E,int n)
{
     EsetType s=NULL;
    int u,v,k=0;EType e;
   while(k<n-1&&E中尚有未检查的边){
        e=select(E);
       if(s加e不包含回路){
      s=s+e;k++;
}
}
 return s;
}

kruskal算法最好理解,他把所有的边的权值进行排序,先加入最小的边,后来加入边的时候检查是否构成回路,如果不构成加入这个边,反之,进行下一步。

prim算法是从某个节点出发,找到跟这个节点相连的最小权值的边,加入生成树。他比较试用与边数多的图,因为他不用检查是否构成回路和进行边权值排序。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值