算法第四章作业
1.你对贪心算法的理解
贪心算法总是做出在当前看来是最后的选择。
贪心算法并不从整体最优加以考虑,所作的选择只是在某种意义上的局部最优选择。
利用问题本身的一些特性,可以用贪心算法,比用动态规划法更简单,更直接,解题效率更高。
贪心算法不是对所有问题都能得到整体的最优解,但在范围相当广的许多问题上能产生整体最优解,如最小生成树问题,图的单源最短路径问题等。
能用贪心算法求解的问题有两个重要的性质,贪心选择性质和最优子结构性质。
2.请说明汽车加油问题的贪心选择性质
贪心选择策略是假如要到达下一个加油站的油不够,则在当前加油站加油,加油次数加一,否则不加油直接去下一个加油站。每到达下一个加油站后重复贪心策略直到到达终点或因为油不够不足以到达下一个加油站。
加油次数为count,共有n个加油站可供加油(n+1是终点),每个加油站i可加油或不加油,状态为ai , ai = 1表示加油,ai = 0表示不加油,count=a1+a2+a3+……+an;
如果当前加油站是i,此时油量足够到达下一个加油站,ai = 0;若不按贪心算法策略,ai = 1,则会导致结果count比按照贪心策略count大,与预期违背,这就证明了贪心选择性质。
3.请说明在本章学习过程中遇到的问题及结对编程的情况
贪心算法的选择策略可能不止一种。
贪心算法不适用一些求最优解的问题,如零一背包问题。
贪心选择性质是区分贪心算法和动态规范算法的主要要素。
posted on 2019-11-21 20:52 Shenhaowen 阅读(101) 评论(0) 编辑 收藏 举报