早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

试题四(共15分)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】设有n

题目

试题四(共15分)

阅读下列说明和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[i]表示第i+1个集装箱当前已经装入货物的体积,下标从0开始

i,j:循环变量

k:所需的集装箱数

min:当前所用的各集装箱装入了第i个货物后的最小剩余容量

m:当前所需要的集装箱数

temp:临时变量

(2)函数firstfit

int firstfit(){

inti,j;

k=0:

for(i=0;i<n;i++){

b[i]=0;

}

for(i=0;i<n;i++){

(1);

while(C-b[j]<s[i]){

j++;

}

(2);

k=k>(j+1)?k:(j+1);

}

returnk;

}

(3)函数bestfit

int bestfit() {

int i,j,min,m,temp;

k=0;

for(i=0;i<n;i++){

b[i]=0;

}

For (i=0;i<n;i++){

min=C;

m=k+l;

for(j=O;j< k+l;j++){

temp=C- b[j] - s[i];

if(temp>0&&temp< min){

(3) ;

m=j,

}

}

(4);

k=k>(m+1)?k:(m+1);

}

return k;

}

【问题1】(8分)

根据【说明】和【C代码】,填充C代码中的空(1)~(4)。

【问题2】(4分)

根据【说明】和【C代码】,该问题在最先适宜和最优适宜策略下分别采用了(5) 和(6)算法设计策略,时间复杂度分别为 (7) 和 (8)(用O符号表示)。

【问题3】(3分)

考虑实例n= 10,C= 10,各个货物的体积为{4,2,7,3,5,4,2,3,6,2}。该实例在最先适宜和最优适宜策略下所需的集装箱数分别为(9)和(10)。考虑一般的情况,这两种求解策略能否确保得到最优解?(11) (能或否)

参考答案
正确答案:

【问题1】
(1)j=0
(2)b[j]=b[j]+s[i]及其等价形式
(3) min= temp
(4) b【m]= b[m]+[i]及其等价形式
【问题2】
(5)贪心
(6)贪心
(7)O(n2)
(8)O(n2)
【问题3】
(9)5
(10)4
(11)否

 

看了试题四(共15分)阅读下列说明...的网友还看了以下:

某班48名学生,在一次外语测试中,分数只取整数,统计其成绩,绘制出频数分布直方图(如图),从左到右 其他 2020-04-08 …

某地区农民人均纯收入在1949年是44元,1978年比1949年提高了9/4.1998年比1978 数学 2020-04-13 …

有一只狼,想吃一只羊,羊说:“我躲在10个洞里的其中一个洞里,你必须重第一个洞开始找,然后第3个洞 其他 2020-05-13 …

探究题某同学在探究种子萌发的外界条件时设计了如下实验:取50粒同样的菜豆种子,分成5等份,在5个同 语文 2020-05-17 …

6年级数学题!只有几道!急!在线等!1.某小学即将毕节的六年级学生人数是五年级的21%,即将入学的 数学 2020-06-06 …

1.请问各位设问,反问,疑问,双重否定算不算修辞手法?2.".把两只前爪在地下按了一按,望上一扑. 语文 2020-06-13 …

看到光.听到声音的问题问一人在阳台看到远处有一礼炮,看到礼炮的光过了5秒才听到礼炮的声音.问这个人 物理 2020-06-16 …

剩余定理的问题一个数被3除余1,被4除余2,被5除余4,这个数最小是几?关键是求三个数字能够同时被 数学 2020-07-31 …

帮忙写一篇英语作文,作文的大概在问题补充里感谢贵方5月6日关于女衬衫的询价.按贵方要求,现报盘如下 英语 2020-08-01 …

解决问题数学高手来1.停车场有36辆小汽车,是大汽车数量的4倍,大汽车是货车的5分之3,货车有多少 数学 2020-08-04 …