算法第四章作业
1.你对贪心算法的理解(2分)
贪心算法在每次做选择的时候并不从整体最优上加以考虑,它所作出的选择只是当前状态下的最好选择。能用贪心算法解决的问题要具有这两个性质:贪心选择性质和最优子结构性质。
贪心选择性质就是问题的整体最优解可以通过一系列的局部最优的选择,即贪心选择来达到。证明这个性质可以用反证法来证明。最优子结构性质:当一个问题的最优解包含其子问
题的最优解时,就具备最优子结构性质。
2.请说明汽车加油问题的贪心选择性质(2分)
汽车加油问题的贪心选择性质就是如果所剩的油不足够汽车走到下一个加油站时,那么在这站就要加油。
3.请说明在本章学习过程中遇到的问题及结对编程的情况(1分)
在结对编程的过程中,对于汽车加油问题,我根据思路打出代码后结果总是多了1次,本来以为是循环次数或者数组下标的问题,改了之后还是不对,然后让队友看看错在哪里,后来
问题就解决了。有时候一些难以看出来的低级错误却卡了很久才发现。
关于会场安排问题,我们发现其实也就是活动安排问题的变体。首先也是要找到最早结束的活动,所以按结束时
间最早来给活动排序,同时对应的活动开始时间也要跟着变动顺序。然后依次遍历最早开始时间,如果活动于前一个活动相容,那么就放在同个会场,即同时更新活动的结束时间,如
果不相容就放在一个新的会场,即开一个新的空间来存放活动结束时间。通过结对编程和讨论,可以提高效率,借鉴彼此的长处,得到进步。