算法第四章作业

一、你对贪心算法的理解

贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。
不从整体最优上加以考虑,做出的只是在某种意义上的局部最优解

二、请选择一道作业题目说明你的算法满足贪心选择性质

贪心策略:总是从可选程序中选择最小的试放入磁盘。

算法:

1、先排序:对程序按大小升序排;

2、循环添加:从i = 0开始,选择排序后序列的第 i 个(即a[i],0 <= i <n),判断是否满足小于磁盘剩余空间,是则计数(count++),否则跳出循环;

证明贪心选择可以推出最优解:

选择从最小程序开始,即解不为空时可以选择最小程序。假设解不为空,从这样得到的选择序列中任选一个,用最小程序替换,放入程序数(count)不变;

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

问题:怎么证明你现在选择的贪心策略是对的,能够让你得出最优解

就如会场安排问题,一开始用最早结束排序,一直得不出最优解;

最后在熳如的说明下才知道是最早开始。

解决:取反例/尝试证明选择的贪心策略可以得出最优解

 

结对编程情况:我的结对编程对象:刘熳如

上周主要有三道编程题,在第二道时由于一开始思路错误,迟迟无法解决,最后由熳如先思考,我来思考第三道。

在第三道编程题错误时,与熳如一起讨论错误的地方,最后得以解决。

熳如的第二题思路由于时间问题也没法在课程上实现,在课下的时间两人都思考这道题,通过交流解决。

posted @ 2020-11-14 14:53  蔡晓娜  阅读(95)  评论(0)    收藏  举报