漫画:五分钟学会贪心算法!

Posted 脚本之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漫画:五分钟学会贪心算法!相关的知识,希望对你有一定的参考价值。

脚本之家

你与百万开发者在一起

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆成几个小问题(分而治之思想)分别求每个小问题的最优解,再把这些“局部最优解”叠起来,就“当作”整个问题的最优解了。

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

没毛病?没毛病走两步看看?? ! !

贪心算法的三步走!

第一步

明确到底什么是最优解?明确下来之后用小本本记下来!

第二步

明确什么是子问题的最优解?再用小本本记下来!

第三步

分别求出子问题的最优解再堆叠出全局最优解?这步不用记!

就是这么简单!

漫画:五分钟学会贪心算法!

0-1背包问题

有一个背包,最多能承载150斤的重量,现在有7个物品,重量分别为[35, 30, 60, 50, 40, 10, 25],它们的价值分别为[10, 40, 30, 50, 35, 40, 30],,阿广,如果是你的话,应该如何选择才能使得我们的背包背走最多价值的物品

漫画:五分钟学会贪心算法!


漫画:五分钟学会贪心算法!

按照刚才说的步骤实操一下吧!

没毛病?没毛病走两步看看?? ! !

贪心算法的三步走!

第一步

明确到底什么是最优解?

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

第二步

明确什么是子问题的最优解?再用小本本记下来!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

第三步

分别求出子问题的最优解再堆叠出全局最优解?

按照制订的规则(价值)进行计算,顺序是:4 2 6 5 。

最终的总重量是:130。

最终的总价值是:165

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

按照制订的规则(重量)进行计算,顺序是:6 7 2 1 5 。

最终的总重量是:140。

最终的总价值是:155

可以看到,重量优先是没有价值优先的策略更好。

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

按照制订的规则(单位密度)进行计算,顺序是:6 2 7 4 1。

最终的总重量是:150。

最终的总价值是:170

可以看到,单位密度这个策略比之前的价值策略和重量策略都要好。

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

贪心算法三个核心问题!!!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

是的,阿广,你说的基本意思正确!

下面我总结一下使用贪心算法的前提:

1、原问题复杂度过高

2、求全局最优解的数学模型难以建立

3、求全局最优解的计算量过大

4、没有太大必要一定要求出全局最优解,“比较优”就可以。

那么几乎99.99999999999%就要使用贪心算法的思想来解决问题。

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

按串行任务分

时间串行的任务,按子任务来分解,即每一步都是在前一步的基础上再选择当前的最优解。

按规模递减分

规模较大的复杂问题,可以借助递归思想(见第2课),分解成一个规模小一点点的问题,循环解决,当最后一步的求解完成后就得到了所谓的“全局最优解”。

按并行任务分

这种问题的任务不分先后,可能是并行的,可以分别求解后,再按一定的规则(比如某种配比公式)将其组合后得到最终解。

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

成本

耗费多少资源,花掉多少编程时间。

速度

计算量是否过大,计算速度能否满足要求。

价值

得到了最优解与次优解是否真的有那么大的差别,还是说差别可以忽略。

漫画:五分钟学会贪心算法!

算法可以贪心

因为算法贪心可以解决

生活中的大部分问题

人啊

千万不要贪心

因为人贪心可以带来

生活中的大部分困难

侈则多欲

君子多欲则恋慕富贵

枉道速祸

漫画:五分钟学会贪心算法!


更多精彩


查看更多优质内容!


女朋友 | 大数据 | 运维 | 书单 | 算法

大数据 | javascript | Python | 黑客

AI | 人工智能 | 5G | 区块链

机器学习 | 数学 | 留言送书

漫画:五分钟学会贪心算法!

漫画:五分钟学会贪心算法!

● 漫画:五分钟学会贪心算法! 

● 漫画:五分钟学会贪心算法! 

●  

● 

● 

以上是关于漫画:五分钟学会贪心算法!的主要内容,如果未能解决你的问题,请参考以下文章

五分钟搞定贪心算法,从此不惧大厂面试,文末福利!

看漫画学算法007:贪心算法

漫画快速掌握贪心算法

漫画:什么是“贪心算法”?如何求解“部分背包问题”?

漫画:什么是“贪心算法”?如何求解“部分背包问题”?

漫画:什么是“贪心算法”?如何求解“部分背包问题”?