关于贪心,prim算法和kruskal的一些个人见解

今天听了尚硅谷用java讲的贪心,prim和kruskal,在学习完这三个算法之后,个人感觉prim和kruskal本身就带有贪心的思想只不过贪心和prim,kruskal的应用场景不同。

贪心算法的理解:在贪心算法中每一步都选择最优解,以此来达到全局最优解。

举个例子就是:

如果我们每天需要补充   糖分,蛋白质,水分。

现在我们有牛奶,面包,矿泉水,馒头四种物品来供给我们所需要的所有养分。

而牛奶和面包已经足够所有的养分,所以就不需要矿泉水和馒头了。

即从刚开始的四种物品减少到两种,得到了花最少钱补充所有养分的最优解,但在这个问题中,如果馒头和牛奶也能补充我们身体中的所有养分,则馒头和牛奶也是最优解。所以贪心算法只能得到近似最优解,并不能得到真正的最优解,在真正使用的过程中要具体问题具体分析。

而prim和kruskal也有明显的贪心思想

应用场景:解决最小生成树问题

prim:首先选定一个顶点,看这个顶点所连接的权最小的第二个顶点,再用第二个顶点选择所相连权最小的第三个顶点,以此类推,得到最小生成树。

kruskal:先看全局,找到所有边当中最小的权的那条边,再以此类推找到较大的边,按从小打到排序,最重要的是不能构成回路。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值