首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,填入(n)处字句,并回答相应问题。 [说明] 背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。 背包问题是
阅读下列函数说明和C代码,填入(n)处字句,并回答相应问题。 [说明] 背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。 背包问题是
admin
2009-02-15
57
问题
阅读下列函数说明和C代码,填入(n)处字句,并回答相应问题。
[说明]
背包问题就是有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。
背包问题是一个典型的NP完全难题。对该问题求解方法的研究无论是在理论上,还是在实践中都具有一定的意义。如管理中的资源分配、投资决策、装载问题等均可建模为背包问题。
常用的背包问题求解方法很多,但本题中采用了一种新的算法来求解背包问题。该算法思想为:首先要对物品进行价重比排序,然后按价重比从大到小依次装进包裹。这种方法并不能找到最佳的方案,因为有某些特殊情况存在,但只要把包中重量最大的物品取出,继续装入,直到达到limitweight,这时的物品就是limit weight的最大价值。这种算法不需要逐个进行试探,所以在数据非常大时,执行效率主要由排序的时间复杂度决定。该算法的流程图为图11-4。
仔细阅读程序说明和C程序流程图及源码,回答问题1和问题2。
[流程图11-4]
[程序说明]
struct Thing:物品结构
typedef struct Bag:背包结构类型
input ( ):将物品按序号依次存入数组函数
inbag ( ):物品按物价比入包函数
init ( ):初始化函数
sort ( ):对物品按价格重量比排序函数
outbag ( ):取出包中weiht最大的物品函数
print ( ):最佳方案输出函数
[C程序]
#define N 255
struct Thing {
double weight;
double value;
double dens;
}thing[N];
typedef stmct Bag {
Thing thing [N];
double weighttmp;
double sumvalue;
}bag,best;
inbag ( )
{
do{
bag.thing
=thing
(1)
(2)
i++;
}while ( (3) )
}
init ( )
{
for (inti=0; i<N; i++)
{
input (thing
.weight, thing
.value)
thing
.dens=thing
.value/thing
.weight;
};
}
main ( )
{
init ( );
sort ( );
inbag ( );
do {
best=bag; //把包中物品放入暂存数组
outbag ( ); //取出包中weight最大的物品
(4)
}while ( (5))
print (best); //输出temp因为是最佳方案
}
选项
答案
(1)bag.weighttmp=bag.weighttmp+thing[i].weight; (2)bag.sumvalue=bag.sumvalue+thing[i].value; (3)bag.weighttmp<=weightlimit (4)inbag( ); (5)best.sumvalue<bag.sumvalue
解析
转载请注明原文地址:https://www.kaotiyun.com/show/vgDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(33)天。活动BC和BF分别最多可以晚开始(34)天而不会影响整个项目的进度。(33)
为了提高计算机磁盘存取效率,通常可以________。
针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要______个测试用例能够满足分支覆盖的要求。intMathMine(intx){intm=0;inti;for(i=x-1;i<=x+1;
编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中,(22)并不是每种编译器都必需的。
()不是蠕虫病毒。
以下(49)方法不是黑盒测试用例的设计方法。
经测试发现某软件系统存在缓冲区溢出缺陷,针对这一问题,最可靠的解决方案是()。
假定X为整数类型变量,X>=1并且X<=10,如果用边界值分析法,X在测试中应该取(48)值。
设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息;“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。学生实体Students中的“
ISO/IEC9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是______。A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
随机试题
人体内嘌呤核苷酸分解代谢的主要终产物是
女性病人,30岁。因急性肠梗阻频繁呕吐,出现口渴、尿少、口唇黏膜干燥、眼窝凹陷、血压偏低。为该病人进行液体疗法,应首先选用的液体是
呕吐隔日食物,常见于
正常人右锁骨中线第4肋间的叩诊音是
企业生产管理工作的基本任务是( )。
某破产企业有多个普通债权人,该企业为使其中某一债权人获得足额清偿,遂协议将企业最具市场价值的设备抵押给该债权人,致使其他债权人的债权处于清偿率极低状态,下列关于该行为的表述中,正确的是( )。
Amajorreasonforconflictintheanimalworldisterritory.Themaleanimalestablishesanarea.Thesizeoftheareaissuffi
在报表中,要计算"数字"字段的最高分,应将"控件来源"属性设置为
A、annoyed.B、ecstatic.C、surprised.D、gloomy.C
A、InNewYork.B、Inabank.C、Nearaprison.D、Inthecountryside.D细节题。文章第一句话提到,故事发生时,Blake先生正开车行驶在乡间的路上。
最新回复
(
0
)