早教吧作业答案频道 -->其他-->
0-1背包问题的回溯法中,剪枝用的上界函数问题0-1背包问题的回溯法中,上界函数为什么用单位价值贪心来求,而不是(当前价值+剩余价值
题目详情
0-1背包问题的回溯法中,剪枝用的上界函数问题
0-1背包问题的回溯法中,上界函数为什么用单位价值贪心来求,而不是(当前价值+剩余价值<=当前最优值) 时剪去右子树。
0-1背包问题的回溯法中,上界函数为什么用单位价值贪心来求,而不是(当前价值+剩余价值<=当前最优值) 时剪去右子树。
▼优质解答
答案和解析
不知道你哪里看的代码,01背包的分支限界法一般有2种剪枝
1、当去了i后体积超过背包容量,那么剪去该子树,体积都超了价值再大也没用。
2、当前价值+i子树中所有物品的价值<=记录的最优值,应该就是你说的把。
按单位价值贪心虽然不知道你具体指什么,我的理解是i的单位价值很低就剪了,这应该是不对的,万一i后面有个单位价值很高的怎么办。
另外,01背包哪有人会用回溯法啊,这是多么没有效率的算法啊,虽然有剪枝,但时间复杂度还是指数级的啊,你想想如果有10件物品的话,你的叶节点就有1024个了,如果100件的话,我。。。。。。!!
1、当去了i后体积超过背包容量,那么剪去该子树,体积都超了价值再大也没用。
2、当前价值+i子树中所有物品的价值<=记录的最优值,应该就是你说的把。
按单位价值贪心虽然不知道你具体指什么,我的理解是i的单位价值很低就剪了,这应该是不对的,万一i后面有个单位价值很高的怎么办。
另外,01背包哪有人会用回溯法啊,这是多么没有效率的算法啊,虽然有剪枝,但时间复杂度还是指数级的啊,你想想如果有10件物品的话,你的叶节点就有1024个了,如果100件的话,我。。。。。。!!
看了 0-1背包问题的回溯法中,剪...的网友还看了以下:
matlab中用diff函数求得的微分怎么带入具体值如我定义 syms(‘x’) 用diff求出x 2020-05-16 …
MATLAB中用diff(函数,n),求表达式的n阶导的例子 2020-05-16 …
Excel中用if函数表达以下意思 设单元格为A2,如果A1为空白A2为空白,如果A1不为空白A2 2020-05-16 …
adams中用step函数设置输入轴的转速,5940d*STEP( time ,0 ,0 ,1 , 2020-05-17 …
一个单元格中很多数相加,能不能用MID函数计算和一个单元格内是1+2+3+4+5+6,怎么样在另外 2020-06-04 …
生瓜请教问题——关于用iCustom引用指标值的,急啊俺想在EA中用iCustom()函数引用Zi 2020-07-03 …
EXCEL中用IF函数超过了7层怎么办?IF(C2=0,"",IF(B2="A",VLOOKUP( 2020-07-08 …
为什么我的VB中用shell函数时给参数加上括号就报错? 2020-07-23 …
actionscript一次随机选两个不同数一个数组a,b,c,d,e,f,g,h,i,j,我想从 2020-07-27 …
求电子表格中用sumproduct函数统计分析各班各分数段人数的公式 2020-11-01 …