第四章贪心算法

一:对贪心算法的理解:

 

贪心算法又称之为贪婪算法,在考虑问题时,总是做出在当前状况来说最好的算则,而不从整理来考虑。从某种意义上说是局部最优解,贪心算法所得到的答案并不一定是整体最优解,所以在使用贪心算法一定要考虑清楚,是否能使用贪心算法。

选择的贪心策略必须具有无后效性,即当前选择的结果必须不能对之前的结果状态产生影响,而只与当前状态有关。

二:请说明汽车加油问题的贪心选择性质:

 

该题目求加油最少次数,即求最优解的问题,可分成几个步骤,一般来说,每个步骤的最优解不一定是整个问题的最优解,然而对于有些问题,局部贪心可以得到 全局的最优解。。我们可以假设不到万不得已我们不加油,即除非我们油箱里的油不足以开到下一个加油站,我 们才加一次油。在局部找到一个最优的解。却每加一次油我们可以看作是一个新的起点,用相同的递归方法进行下去。最终将各个阶段的最优解合并为原问题的解得 到我们原问题的求解。

三:请说明在本章学习过程中遇到的问题及结对编程的情况:

关于贪心算法,我不知道为什么总是想到贪吃蛇,才知道算法讲的什么意思,原理很简单,大部分都是例子,但是我感觉掌握还是要下功夫的,重点在于如何针对特定的问题进行贪心,某类问题是否适合用贪心算法计算。“01背包问题”,是否可以用贪心算法来解决?我的思考是不行,因为容易找出样例。结对编程我们是两个人同时打代码,然后交流选用更简洁方便的代码。

你可能感兴趣的:(第四章贪心算法)