首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 设有n个货物要装入若干个容重为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,…,sn),且有si≤C(1≤i≤n)。为节省运输成本,用尽可能少的集装箱来装
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 设有n个货物要装入若干个容重为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,…,sn),且有si≤C(1≤i≤n)。为节省运输成本,用尽可能少的集装箱来装
admin
2013-07-09
64
问题
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。
【说明】
设有n个货物要装入若干个容重为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,…,sn),且有si≤C(1≤i≤n)。为节省运输成本,用尽可能少的集装箱来装运这n个货物。
下面分别采用最先适宜策略和最优适宜策略来求解该问题。
最先适宜策略(firstfit)首先将所有的集装箱初始化为空,对于所有货物,按照所给的次序,每次将一个货物装入第一个能容纳它的集装箱中。
最优适宜策略(bestfit)与最先适宜策略类似,不同的是,总是把货物装到能容纳它且目前剩余容重最小的集装箱,使得该箱子装人货物后闲置空间最小。
【C代码】
下面是这两个算法的C语言核心代码。
(1)变量说明
n:货物数
C:集装箱容量
S:数组,长度为n,其中每个元素表示货物的体积,下标从0开始b:数组,长度为n,b
表示第n+i个集装箱当前已经装入货物的体积,下标从0开始i,j:循环变量
k:所需的集装箱数
min:当前所用的各集装箱装入了第i个货物后的最小剩余容量
m:当前所需的集装箱数
temp:临时变量
(2)函数firstfit
int firstfit(){
int i,j;
k=0:
for(i=0;i<n;i++){
b
=0;
}
for(i=0;i<n;i++){
(1)
;
while(C-b[j]<s
){
J++:
}
(2)
;
k=k>(j+1)?k:(j+1);
}
return k;
}
(3)函数bestfit
int bestfit(){
int i,j,min,m,temp;
k=0;
for(i=0;i<n;i++){
bri]=0;
}
for(i=0;i<n;i++){
min=C;
m=k+1:
for(J=0;j<k+1;J++){
temp=C-b[j]-s
;
if(temp>0&&temp<min){
(3)
;
m=j;
}
}
(4)
;
k=k>(j+1)?k:(j+1);
}
return k;
}
根据说明和C代码,该问题在最先适宜和最优适宜策略下分别采用了
(5)
和
(6)
算法设计策略,时间复杂度分别为
(7)
和
(8)
(用O符号表示)。
选项
答案
(5)贪心 (6)贪心 (7)O(n
2
) (8)O(n
2
)
解析
贪心算法在解决最优化问题上是仅根据当前已有的信息作出选择,即不是从整体最优考虑,它所作出的选择只是力求局部最优。最先适宜策略和最优适宜策略均采用了该算法设计策略。
对于时间复杂度,应根据程序中循环的层数及每层循环的次数来进行计算。可以很容易的判断,这两种算法的时间复杂度均为O(N
2
)。
转载请注明原文地址:https://www.kaotiyun.com/show/3iDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
用面向对象方法设计了一个父类File和两个子类DiskFile和TapeFile,这两个子类继承了其父类的open方法,并给出不同的实现。不同的子类执行open方法时,有不同的行为,这种机制称为_____。
某软件设计师自行将他人使用C程序语言开发的控制程序转换为机器语言形式的控制程序,并固化在芯片中,该软件设计师的行为(15)。
通用的风险分析表应包括()。(54)①风险问题②发生的呵能性③影响的严重性④风险预测值⑤风险优先级
广义的软件测试由“确认”、“验证”、“测试”三个方面组成,其中“确认”是______。A.想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标B.检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各
采用UML进行软件设计时,可用(17)关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部分关系。
己知某文档仅包含6种不同的字符,其每个字符出现的频率如下表所示,采用霍夫曼编码对该文档压缩存储,则单词“face”的编码为_______,该文档的压缩比为25%。
以下关于CPU与I/O设备交换数据所用控制方式的叙述中,正确的是_______。
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
认真阅读下列说明信息,回答问题1至问题5。[说明]在一个基于TCP/IP协议的网络中,每台主机都有一个IP地址,根据获得IP地址的方式不同,可以分为静态IP和动态IP。例如:用宽带入网,会有一个固定的IP地址,每次连入Internet,你的IP地
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
随机试题
构成《中国人民政治协商会议共同纲领》基础的是()
交流调压调速方法调速范围不大,调速引起的损耗()。
自然人的民事权利能力从出生时开始,到死亡时终止,所以死者不能享有名誉权,死者的名誉不受法律保护。()
A.肱二头肌、旋前圆肌B.桡侧伸腕长肌和短肌C.髂腰肌D.股四头肌E.胫骨前肌L2运动神经平面的关键肌为
分泌生长抑素的部位是
[背景资料]某政府机关在城市繁华地段建一幢办公楼。在施工招标文件的附件中要求投标人具有垫资能力,并写明:投标人承诺垫资每增加500万元的,评标增加1分。某施工总承包单位中标后,因设计发生重大变化,需要重新办理审批手续。为了不影响按期开工,建设单位要
ST公司采用成本模式对投资性房地产进行后续计量,采用资产负债表债务法核算所得税,适用的所得税税率为25%,历年按净利润的10%提取盈余公积。有关资料如下:2008年12月18日,ST公司与MT公司签订租赁合同,ST公司将一栋写字楼整体出租给MT公
学习诊断式
因为动作技能的形成与练习时间和练习次数密切相关,所以练习前在头脑中把动作和要领默想一遍对动作技能的形成并没有实际效果。()
A.sothatB.preferenceC.normalD.circleE.callsforF.problemG.longerH.cycleI.matterJ.illustratesK.hand
最新回复
(
0
)