算法第四章作业
1. 你对贪心算法的理解
答:贪心算法的最大特点就是将问题分解为一系列的“步骤”,然后在每一个步骤里面都选出当前最优的解决方案,就像一张试卷,150分由不同的题目组成,而每道题都要求我们做出最能得分的选择,就是贪心算法的组最普遍的体现。而贪心算法的两大特点:最优子结构性质,贪心选择性质。一个则是在动态规划法已经知晓,而贪心选择则是在每一个当前问题都不考虑之后的影响,而是直奔最优的解决方案。
2,请选择一道作业题目说明你的算法满足贪心选择性质
4-1程序选择
我们在这一道题选择了每次选择现有占用时间最小的一个程序,而方法就是先将所有程序排序(按照时间长短,短的在前)而后每次选择第一个,直至相加的时间长于空闲时间。
证明:假设不选择最短的程序也可以安排出最多的程序,按照样例,则此时第一选择的程序有可能是占用时间50的,但是2+3+20+13小于50,也即是说,如果先选了50的程序,有可能挤掉了四个程序的时间,因此50不是当前问题的最优解,假设也不成立。所以我们的贪心选择是正确的。
3,请说明在本章学习过程中遇到的问题及结对编程的情况
本章学习之中最大的问题就是,不知道贪心选择的条件是什么,比如4-1的程序安排,在没熟悉之前,我就在针对该题贪心原则出现过疑虑,总是在担心是不是还有更加优等的策略。
结对情况:良好没有出现特别大的矛盾。