1.你对贪心算法的理解
贪心算法在我看来是一种非常原始基本的算法,它表现的是我们作为人最原始的欲望:总是做出对当前情况最有利的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
当然,并不是所有问题都能用贪心算法解决,只有当局部最优解合起来时与问题最终的最优解结果是一致的时候,该问题才可以用贪心算法来解。
2.请说明汽车加油问题的贪心选择性质
汽车加油问题:
一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。
第一行有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个加油站。 第二行有 k+1 个整数,表示第 k 个加油站与第k-1 个加油站之间的距离。 第 0 个加油站表示出发地,汽车已加满油。 第 k+1 个加油站表示目的地。
输出最少加油次数。如果无法到达目的地,则输出“No Solution!”。
贪心选择性质:
显然,每到一个加油站都需要判断一次是否需要加油,而我们只需要看到下一个加油站的距离即可,能走完则不加,不能走完则加,这是每到一个加油站的最优解,显然也是最终问题的最优解。
3.请说明在本章学习过程中遇到的问题及结对编程的情况
该问题中我与搭档李祥浩在一开始就明确了解题思路和方向,我们一起编程,每个人都提出意见和思路,很快就把问题解决了,也弥补了语法缺陷,结队编程提高了我们解决问题的效率和效果。