首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和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
80
问题
阅读下列说明和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://www.kaotiyun.com/show/LoxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
给出域名解析的两种方案。当dns服务器发生故障,我们是否可以访问网络上的计算机?如果可以,需要什么条件?说明原因。
为了实现VLAN1、VLAN2和VLAN3的虚拟网络划分,在ATM和RT路由器中应设置哪几种服务协议(如BUS)?试述从PC,发送一个IP包到PC4数据封装与解封的整个过程。
NAT英文全称是“NetworkAddressTranslation”,中文意思是“网络地址转换”,它是一个IETF(InternetEngineeringTaskForce,Internet工程任务组)标准,允许一个整体机构以一个公用IP(
在尽量节省资金的情况下,同时将原有设备充分利用(原来用HUB来连接各网段),应如何改善网络性能,增加什么设备?并说出理由。当选用路由器作为VLAN间的连接设备,请给出两种连接方案。
Linux在安装时会创建一些默认的目录,如下表所示:依据上述表格,在空(1)一(6)中填写恰当的内容(其中空1在候选答案中选择)。①对于多分区的Linux系统,文件目录树的数目是(1)。②Linux系统的根目录是(2),默认的用户主目录在(3)目录
阅读以下说明,回答问题1~7,将解答填入对应的解答栏内。图3-1是在网络中划分VLAN的连接示意图。VLAN可以不考虑用户的物理位置,而根据功能、应用等因素将用户从逻辑上划分为一个个功能相对独立的工作组,每个用户主机都连接在支持VLAN的交换机端口
根据网络拓扑和需求说明,完成(或解释)路由器R1的配置。R1#configureterminal;进入全局配置模式R1(config)#interraceethernet0;进入端口配嗣模式R1(config-i
阅读以下说明,回答问题。(2011年上半年下午试题四)[说明]某公司两分支机构之间的网络配置如图3-11所示。为保护通信安全,在路由器router-a和router-b上配置IPSec安全策略,对192.168.8.0/24网段和192.168.
以下Windows命令中,可以用于验证端系统地址的是(56);可以用于识别分组传送路径的是(57);如果要终止一个ping会话,正确的操作是(58)。以下应用中,对网络带宽性能影响最大的应用是(59)。OSPF和RIP都是因特网中的路由协议,与RIP相比,
ICMP报文封装在(22)协议数据单元中传送,在网络中起着差错和拥塞控制的作用。常用的ping程序中使用了回送请求/应答报文,以探测目标主机是否可以到达。
随机试题
简述电子商务信用关系的类型。
治疗髌骨软骨软化症,应慎用的是()
妊娠合并肝炎对母儿的影响
手少阳三焦经的主治病证是
下列不属于镇规划技术原则的是()。
有限企业的合伙人人数为()。
教育活动具有迟效性(滞后性),说明教师的劳动具有
(2016年真题)甲谎称邢某欠自己20万元货款未还,请乙帮忙“要账”。乙信以为真,答应帮忙。二人遂强行劫持了邢某,驾车将其带至外地一宾馆捆绑起来,由乙看管。甲背着乙将邢某随身佩戴的手表、项链、戒指等贵重物品搜走,并两次给邢某的妻子打电话,勒索人民币20万元
Oliviavisitstheofficetolearnhowtouseheridentificationcard.
Whatevertheirchosenmethod,Americansbathezealously.Astudyconductedfoundthatwetakeanaverageof4.5bathsand7.5s
最新回复
(
0
)