DynamicProgramming&Greedy的小启示

记得doom启示录里写道carmack相信,生活里的任何问题都可以编程解决。

 

尽管这个我觉得有点夸张,但是今天看算法导论时候的确感觉有些启示。

 

比如就是动态规划和贪心就是比较有指导作用的做法。

 

在寻找最优解的时候,动态规划就是从最小的子问题,然后一步步逼近到最终问题,逼近的过程可以说考虑现在和将来,逼近结束了,最优解也就是出现了。

 

贪心则是总是选择现有的最佳解。

 

这个让我想起了军队盛饭,就是想多吃点的先盛半碗,吃完在来一碗,这个就比较有前瞻性,就有更好的解。

反之先来一碗,之后就没有了,就差点。

 

有的时候做事何尝不如此,像动态规划一样去做事,定义好问题之后,一步步从始至终都考虑清楚,号称是高瞻远瞩,选取最优解。

贪心法显得目光就短浅很多,能否达到最优解就靠运气了。

 

另外,书中也讲到,贪心法需要一个动态规划做基础,在确定了贪心可以达到最优解的时候就用贪心,这个更加高效。

所以在斟酌好可以贪心的时候就看着眼前的事走也可以,那么就又是最优解,又是省心,那最棒了呃。

 


原文链接: http://blog.csdn.net/ccanan/article/details/5082531

你可能感兴趣的:(DynamicProgramming&Greedy的小启示)