首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 0-1背包问题定义为:给定i个物品的价值v[1…i]、重量w[1…i]和背包容量T,每个物品装到背包里或者不装到背包里。求最优的装包方案,使得所得到的价值最大。
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 0-1背包问题定义为:给定i个物品的价值v[1…i]、重量w[1…i]和背包容量T,每个物品装到背包里或者不装到背包里。求最优的装包方案,使得所得到的价值最大。
admin
2021-03-24
97
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
0-1背包问题定义为:给定i个物品的价值v[1…i]、重量w[1…i]和背包容量T,每个物品装到背包里或者不装到背包里。求最优的装包方案,使得所得到的价值最大。
0-1背包问题具有最优子结构性质。定义c
[T]为最优装包方案所获得的最大价值,则可得到如下所示的递归式。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
T:背包容量
v[]:价值数组
w[]:重量数组
c[]:c
[j]表示前i个物品在背包容量为j的情况下最优装包方案所能获得的最大价值
(2)C程序
#include<Stdio.h>
#include<math.h>
#define N 6
#define maxT 1000
int c[N][maxT]={0};
intMemoized_Knapsack(int V[N],int w[N],intT){
inti;
int j;
for(i=0;i<N;i++){
for(j=0;j<=T;j++){
c
[j]=一1;
}
}
returnCalculate_Max_Value(v,w,N-1,T);
}
intcalculate_Max_Value(int v[N], int w[N],inti,int j){
int temp=0;
if(c
[j]!=一1){
return
(1)
;
}
if(i=0 || j==0){
c
[j]=0;
}else{
c
[j]=Calculate_Max_Value(v,w,i-1,j);
if(
(2)
){
temp=
(3)
;
if(c
[j]<temp){
(4)
;
}
}
}
return c
[j];
}
根据说明和C代码,填充C代码中的空(1)~(4)。
选项
答案
(1)c[i][j] (2)w[i]<=j (3)Calculate_Max_Value(v,w,i-1 j-w[i])+v[i] (4)c[i][j]=temp
解析
一般情况下,采用动态规划法求解最优化问题是构建递归式,然后自底向上迭代地求解。这里采用了自顶向下的递归求解方法,但是和传统的递归又不同。在求解问题的过程中,对第一次遇到的问题采用递归方法求解,把解存放到数组中,后面再次遇到该问题时,直接到数组中查询。
C程序中已经说明c
[j]表示前i个物品在背包容量为j的情况下最优装包方案所能获得的最大价值。开始时c
[j]初始化为一1。calculate_Max_Value函数用来计算c
[j]的值。进入函数后,先判断c
的值是否为-1,如果不是,说明己经计算过,直接返回该值即可,因此空(1)填c
[j];如果是-1,那么需要递归计算。空(2)上面的语句计算了在前i-1项,容量为j的背包问题值的最大价值,因此空(2)填入w
<=j,考虑在前i-1项,容量为j-w
的背包问题值的最大价值,比较两者的大小关系,因此空(3)和空(4)分别填入Calculate_Max_Value(v,w,i-1 j-w
)+v
和c
D]=temp。
转载请注明原文地址:https://kaotiyun.com/show/LoxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请简要说出DHCP服务的基础流程?请分别写出在Linux系统中启动、停止和重新启动DHCP服务的3个命令。
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?限制制MailUser邮件主机里每个用户邮箱里所能存放的最多邮件数量不超过30个,如何配置?
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?限制MaiUser邮件主机里最多允许有1000个邮件用户,如何配置?
上述配置中是否有问题?请指出并说明理由。解释配置中画线部分内容含义?
阅读以下说明,回答问题1和问题2,将解答填入对应栏内。某学校拟组建一个小型校园网,具体设计如下:1.设计要求。(1)终端用户包括:48个校园网普通用户;一个有24个多媒体用户的电子阅览室;一个有48个用户的多媒体教室(性能要求高于电子阅
Linux在安装时会创建一些默认的目录,如下表所示:依据上述表格,在空(1)一(6)中填写恰当的内容(其中空1在候选答案中选择)。①对于多分区的Linux系统,文件目录树的数目是(1)。②Linux系统的根目录是(2),默认的用户主目录在(3)目录
阅读以下说明,回答问题1至问题5,将解答填入对应的解答栏内。HFC(HybirdFiber-coaxialcable,混合光纤同轴电缆网)接入技术是以现有的有线电视网(CATV)为基础,综合应用模拟和数字传输技术、射频技术和计算机技术所产生的一
某Linux服务器上通过xinetd来对各种网络服务进行管理,该服务器上提供ftp服务,ftp服务器程序文件为/usr/bin/ftpd,ftp服务器的配置文件/etc/xinetd.d/ftp内容如下所示,目前该服务器属于开启状态:servic
该网络采用核心层、汇聚层、接入层的三层架构。根据层次化网络设计的原则,数据包过滤、协议转换应在(11)层完成;(12)层提供高速骨=F线路;MAC层过滤和IP地址绑定在(13)层完成。(12)
阅读以下说明,回答问题。(2011年上半年下午试题二)[说明]Linux系统有其独特的文件系统ext2,文件系统包括文件的组织结构、处理文件的数据结构及操作文件的方法。可以通过命令获取系统及磁盘分区状态信息,并能对其进行管理。以下命令中,改变
随机试题
里格斯认为“已达到了一定程度的分化,以及角色的专门化”的社会是
某6个月女婴,母乳喂养未添加辅食,面色苍黄、嗜睡,诊断巨幼细胞贫血,主要原因是缺乏
()他项权利是指按照待定需要而使用他人土地的权利,如租赁权、地役权、耕作权。
违反《城市房地产开发经营管理条例》规定,擅自转让房地产开发项目的,由县级以上人民政府负责土地管理工作的部门责令停止违法行为,没收违法所得,可以并处违法所得()倍以下的罚款。
静止液体中存在()。
在经纪业务经营中,经营管理风险是由于种种原因造成交易差错,交易结果违背委托人意愿而造成证券经营机构的经济损失。()
下列关于法律监督的表述,错误的是()。
“刚开始并不清楚什么是私募,只是相信政府支持的总是没错。而且投资公司个个都看起来实力雄厚,才让越来越多的人做起了致富的美梦。”陈烨告诉记者。他所参与的盛华投资就是其中一家看起来很美的“私募公司”。(语料来源:《法制周末》,2012年8月09日)
下列程序执行后的输出结果是 #include<string.h> main() { char arr[2][4]; strcpy(arr, "you"); strcpy(arr[1], "me"); arr[0][3]=’&’
SpotthedifferenceATaxonomichistoryhasbeenmadethisweek,atleastaccordingtotheWorldWildlifeFund(WWF),aconserv
最新回复
(
0
)