1.对贪心算法的理解
贪心算法总是做出当前看来是最好的选择,即贪心算法并不从整体最优上加以考虑,它所做出的选择只是在某种意义上的局部最优选择。虽然贪心算法不是对所以问题都能得到整体最优解,但对范围相当广的许多问题它能产生整体最优解,而在一些情况下,即使贪心算法不能得到整体最优解,但其最终结果却是最优解的很好近似值。
贪心算法的步骤:
1.从问题的某个初始解出发
2.采用循环语句,当可以向求解目标前进一步时,就根据局部最优策略,得到一个部分解,缩小问题的规模或范围
3.将所有的部分解综合起来,得到问题的最终解。
2.汽车加油问题的贪心选择性质
贪心策略:在汽车里剩余的油不足以支持到达第i个加油站时,在第i-1个加油站加油。
证明:
假设在汽车里剩余的油不足以支持到达第i个加油站时,在第i-2个加油站加油
现输入
7 7
3 3 3 3 3 3 3 3
按照在第i-2个加油站加油的策略,加油次数为6次。
而按照在第i-1个加油站加油的策略,加油次数为3次。
由此可知这个策略不是最佳策略,其他策略由此类推。
而贪心策略:在汽车里剩余的油不足以支持到达第i个加油站时,在第i-1个加油站加油不能举出任何一个反例。
3.在本章学习过程中遇到的问题及结对编程的情况
学习本章的时候经常有了贪心策略,但有些地方不知道如何实现,但幸好有个好伙伴,经过与伙伴的谈论,慢慢解决问题。
原文:https://www.cnblogs.com/Winnieapple/p/10044062.html