首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和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
66
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下关于HFC宽带接入Internet网的技术说明,根据要求回答问题1至问题4。【说明】混合光纤同轴电缆网(HFC网)应用数字和模拟传输技术,综合接入Internet、电话、模拟和数字广播电视、数字交互业务等多种业务,将计算机网络、有线电视网
若设置域名解析服务器,已知该文件服务器上文件named.boot的内容如下:Directory/var/namedCachenamed.rootPrimary0.0.127in-addr.arpanamed.loc
(1)和(2)空缺名称填写在答题纸对应的解答栏内。按照C.1ite的最高速率标准,上传24MB的文件需要多少秒时间?
在尽量节省资金的情况下,同时将原有设备充分利用(原来用HUB来连接各网段),应如何改善网络性能,增加什么设备?并说出理由。当公司需要将计算机按部门划分成虚拟网络,而一个部门可能分散在不同的地方且不能由一个联网设备连接时,但不需要不同部门之间的计算机通信
阅读以下说明,回答问题1至问题3,将解答填入对应的解答栏内。[说明]某单位网络的拓扑结构示意图如图5-1所示。该网络采用RIP协议,要求在R2上使用访问控制列表禁止网络192.168.20.0/24上的主机访问网络192.168.10.0/
阅读以下说明,回答问题。(2011年上半年下午试题二)[说明]Linux系统有其独特的文件系统ext2,文件系统包括文件的组织结构、处理文件的数据结构及操作文件的方法。可以通过命令获取系统及磁盘分区状态信息,并能对其进行管理。以下命令中,改变
Packet-switching wireless networks are preferable(66)when transmissions are(67)because of the way charges are(68)per packet. Cir
在自治系统内部的各个路由器之间,运行的是内部网关协议IGP。早期的IGP叫作(56),它执行(57)。当网络规模扩大时,该算法传送的路由信息太多,增加了网络负载,后来又出现了执行最短路径优先算法的IGP。按照这种协议,每个路由器向网络中的其他路由器发布(5
FrameRelayissimplifiedformof(66),similarinprincipleto(67),inwhichsynchronous,framesofdataareroutedtodifferent
MIB对象标识符分级树根未命名,但是有3个直接后裔,分别由ISO、(1)及(2)进行管理。分级树中关于MIB-Ⅱ节点下包括10个功能组,共171个对象。在这些功能组中是一个联系各种接口的特殊节点,与接口组相配合,提供与子网类型有关的专用信息的功能组是(3)
随机试题
气滞心胸之胸痹的主要病机为气阴两虚之胸痹的主要病机为
不属于新生儿骨髓炎的病因的是
手持式电动工具的负荷线应采用耐气候型橡皮护套铜芯软电缆,并且不得有接头。()
自由质点受力作用而运动时,质点的运动方向是()。
温度取源部件与管道呈倾斜角度安装时,取源部件轴线应与管道轴线()。
企业标准化的实质内容不包括()。
武陵源风景区位于湖南省西北部,由张家界国家森林公园、索溪峪自然保护区和天子山自然保护区三大风景区组成。()
根据以下资料,回答96-100题。请仔细观察下图,左侧Y轴表示各专业招聘人数与求职人数的总数,右侧Y轴表示各专业职位供需比。综合分析上图,下列说法正确的是()。
下列选项中错误的说法是()。
A、Manyofthembuythingsonimpulse.B、Afewofthemarefatherswithbabies.C、Amajorityofthemareyoungcouples.D、Over60
最新回复
(
0
)