算法设计与分析第四章作业

计科2101高喆 2022-11-21 19:01:33

一、程序存储问题

   1. 贪心策略

       要尽可能多地将程序放入磁带,按照程序长度从小到大排列,优先选取较短的程序放入磁带。

  2. 证明

     设P={1, 2, ...,n}所有程序的集合且按长度从小到大的顺序排列,设A是最优解,且A中最先放入磁带的是程序k。若k = 1,则最优解包含程序1,即A是一个以贪心选择开始的最优解。若k>1(最优解不包含程序1),令B=A–{k}∪{1},因为程序 1 的长度小于程序 k 的长度,且 A中的程序个数与B相同,故B也是一个最优解,而B包含程序1,故总存在以贪心选择开始的最优存储方案。

 3. 时间复杂度

     排序的时间复杂度为O(nlogn),搜索程序的时间复杂度为O(n),故总的时间复杂度为O(nlogn)。

二、对贪心算法的理解

     

所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。

贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。

...全文
23 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧