程序存储问题(贪心算法)(算法设计与分析作业4)

20211003238 2022-11-21 19:58:01

问题描述

设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。

贪心策略

磁带还能容纳得下程序,就优先把程序占用磁盘长度最短的先放进磁盘

证明

假如{l2,l3,l4}是能放进磁盘最多数量的程序数,而此时l1是占用磁盘长度最短的,那么l1替换掉l2,l3,l4其中一个都仍然满足最优解,{l1,l2,l3}也能构成最优解,故先把占用磁盘长度最短的先放进磁盘贪心选择策略成立

对贪心算法的理解

贪心选择算法一般用来求解最优解的题目,在求解过程中注重局部,当前的最优解,而要得到正确的最优解就要找到正确的贪心策略,找贪心策略有时候需要直觉,有些题的贪心策略还是比较难找的,还要用反证法证明自己选择的贪心策略是正确的。

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

434

社区成员

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

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