首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2021年下半年下午试题四)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 设有n个货物要装入若干个容重为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,…,sn},且有si≤C(1≤i≤n)。为
(2021年下半年下午试题四)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 设有n个货物要装入若干个容重为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,…,sn},且有si≤C(1≤i≤n)。为
admin
2018-07-27
45
问题
(2021年下半年下午试题四)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
设有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++){
b
=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代码】,填充C代码中的空(1)~(4)。
选项
答案
(1)j=0 (2)b[j]=b[j]+s[i] (3)min=temp (4)b[m]=b[m]+s[i]
解析
本题描述的算法包括最先适宜算法和最优适宜算法。其中,最先适宜算法要求按顺序给货物找到一个能容纳它的集装箱,找到即可装箱。这里的关键在于找到第一个能容纳它的集装箱,从头到尾遍历各集装箱即可。firstfit函数用于实现最先适宜算法。定位到空(1)处,其上面的for循环用于对所有n个货物进行遍历,分别找出满足条件C-b[j]>=s
的集装箱。但条件C-b[j]<s
中的变量j在空(1)前并没有显式的赋值语句,且遍历各集装箱应从第一个开始,因此空(1)处应填入j=0。空(2)处表示货物已放入集装箱的情况,应更新装入货物后的体积,因此空(2)处应填入b[j]=b[j]+s
。
最优适宜算法不仅要找到能容纳货物的集装箱,而且还要求该集装箱的剩余容量最小。bestfit函数用于实现最优适宜算法。该函数的for循环语句中的temp表示剩余的最小容量,若其小于min,则应更新其值。因此,空(3)处应填入min=temp。和firstfit函数中空(2)处类似的思路,空(4)处应填入b[m]=b[m]+s
。
转载请注明原文地址:https://kaotiyun.com/show/e7DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请问无线局域网的工作模式有哪几种?平时所用的手机可漫游在不同的基站之间,WLAN工作站也可漫游,请问WLAN的“漫游”含义是什么?
请问无线局域网的工作模式有哪几种?当不使用AP时,必须把一组需要互相通信的无线网卡的什么值设为相同?
从图7-1中可以看出采用什么拓扑结构与设计方法?上述拓扑结构的特点是什么?
请指出现有虚拟局域网络的4种划分方式。在基于端口的VLAN划分中,交换机上的每一个端口允许以哪3种模式划入VLAN中,并简述它们的含义。
该企业网络的核心层采用了ATM技术,由3台ATM交换机互联构成。试对ATM网络技术的主要特点、协议分层结构和优点作简要叙述。(控制在100个字以内)PC1~PC4按100Mbit/s的以太网协议运行,PC1和PC2划分在一个虚拟网之中(VLAN1),
阅读以下说明,回答问题1和问题2。【说明】二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图2-7所示,采用L2TP来实现网络安全。
结合图7-18所示的网络拓扑结构图,将以下路由器R1配置信息中(1)~(9)空缺处的内容填写完整,实现路由器R1的正确配置。Router>en(进入特权模式)Router#
Samba的工作原理是:让(1)和NetBIOS这两种协议运行于TCP/IP通信协议之上,且通过Windows的(2)协议让用户的Linux计算机可以在Windows的网络邻居上被看到。Samba服务器配置工具是用来管理Samba共享、用户及基本服
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
为了便于用户下载相关资料,特安装一台FTP服务器,其服务器端软件是Serv-U,假如要增加一个名为CIU10009的用户,对应目录为D盘,且要求加密,在图6-4中怎么设置?为了保证FTP服务器的数据安全,每个在读取文件时,只能读取和执行相关文件,请问在
随机试题
奥运会的格言是“更快、更高、更强”。请结合这一格言,自拟题目。要求:A.自定立意,可写成记叙文、议论文。B.不少于800字。C.字迹工整,卷面整洁。
小儿腹泻脱水,在脱水纠正后出现抽搐,最常见的原因是
印制规范包括()要求。
根据《会计人员继续教育暂行规定》,具有初级会计专业技术资格的会计人员每年接受继续教育的培训时间最少应为()。
下列各项中,属于企业所有者权益组成部分的有()。
Whathealthproblemsdomanyelderlyhave?MaggieKuhntravelsacrosstheUnitedStatesinorderto______elders.
A、 B、 C、 D、 D
A、Yellow.B、Green.C、White.A本题询问丽莉的衣服是什么颜色的。女士说:TheblueoneisLucy’s,andtheyellowoneisLily’s.可知答案为[A]Yellow。
MESOLITHICCOMPLEXITYINSCANDINAVIA(1)TheEuropeanMesolithic(roughlytheperiodfrom8000B.C.to2700B.C.)testifiest
A、Hefounditmoreprofitable.B、Hewantedtobehisownboss.C、Hedidn’twanttostartfromscratch.D、Hedidn’twanttobein
最新回复
(
0
)