算法第四章作业

1.你对贪心算法的理解

       经过多次做题与探讨后我认为其实贪心算法与动态规划是比较相似的,都是依靠最优子结构性质来逐步求出最终问题的解,而区别在于动态规划普遍适用,但是步骤会比较多,时间复杂度会较高,贪心算法相比起来更容易实现,但不一定每个题目都能用贪心算法,而且解题时贪心策略的选择十分重要,如果没有清晰的思路找不出正确的贪心策略最后会陷入僵局之中。贪心算法一般是局部最优,而不一定全局最优,所以需要我们有比较活跃的思维,也需要我们在平时生活中多观察,多思考。

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

       汽车加油问题的贪心策略是每次汽车油量不足以去往下一个加油站时就在本加油站加油。原因是要让汽车走尽可能远的距离加油次数才会尽可能的少。

       证明:若第一次加油比贪心策略中第一次加油要提前一个加油站加油而其余加油站点不变,那么汽车需要多走一段距离,若增加一段距离后汽车并不能如贪心策略一样在下一个相同站点加油,那么下一个加油点需要提前,由此可以通过数学归纳法证明若其中一次加油站点提前,则后面加油站点提前或者不变,而加油站点提前只有可能增加总加油次数而不会减少,因此由贪心策略得出的加油次数必定是最少的。(贪心策略的加油站点不能往后因为汽车油量不足以让汽车前往下一加油站)

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

        本章学习过程中遇到较多的问题是贪心策略经常选择错误从而得不出正确答案,我觉得这需要多加锻炼,平时也要多多思考。结对编程方面我们一般都是先自己打完代码,有不懂或者疑惑的地方然后在一起讨论,有时候也会让同伴来帮我找出代码中的bug。

posted @ 2019-11-21 17:05  陈裕恒  阅读(97)  评论(0编辑  收藏  举报