Greedy Algorithm(贪心算法及典例)

贪心算法概述:

贪心算法总是做出当前看来最好的选择,并不从整体最优上考虑,它所做出的选择只是某种意义上的局部最优选择,我们希望通过选择合适的贪心策略使算法得到的结果也是整体最优的。

 

 

 

 优化子结构:若一个优化问题的优化解包含它的子问题的优化解,则称其具有优化子结构。

贪心选择性:一个优化问题的全局优化解可以通过局部优化选择得到。

 

 

 一、活动排布问题:

 重新构造一个优化解。 原解和新解都得满足“优化解”该满足的东西 譬如相容 譬如活动个数最大 

 熟悉的反证法。

合理。证明不管这个基数是多少,挑出来的都是优化解。

 

 

 二、Huffman Codes

 想设计一种编码方式,既可变长又是前缀编码。于是想到采用树这种结构来编码。

 

 

 依然是反证。B(T)和B(T‘)的关系是因为f(x)和f(y)的深度。

 

 

 

依然是使用交换论证法。和上个问题想法是一样的捏。仅最后位不同指的是x、y相对位置。

 

 最小堆参考:图解:最小堆构建、存储、插入、删除过程 - 爱吃牛油果的璐璐的文章 - 知乎 https://zhuanlan.zhihu.com/p/341418979

 三、最小生成树 Minimal spanning tree problem

 

 

 

 

 

 

 对于一个连通图来说,不管其中顶点如何扩张,都变不出回路来捏。

 

 

 

 

 

 

 在更新之后将key[r]设为0,这个操作保证了r作为树的根节点。有一个节点会连接到r节点……

 

 

 

 

 

 

 

 

 

 

 四、Minimum Makespan Scheduling

 

 

 

 妙啊~利用平均时间和贪心策略来建立联系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值