工学

单选题对于0-1背包问题和背包问题的解法,下面()答案解释正确。A 0-1背包问题和背包问题都可用贪心算法求解B 0-1背包问题可用贪心算法求解,但背包问题则不能用贪心算法求解C 0-1背包问题不能用贪心算法求解,但可以使用动态规划或搜索算法求解,而背包问题则可以用贪心算法求解D 因为0-1背包问题不具有最优子结构性质,所以不能用贪心算法求解

题目
单选题
对于0-1背包问题和背包问题的解法,下面()答案解释正确。
A

0-1背包问题和背包问题都可用贪心算法求解

B

0-1背包问题可用贪心算法求解,但背包问题则不能用贪心算法求解

C

0-1背包问题不能用贪心算法求解,但可以使用动态规划或搜索算法求解,而背包问题则可以用贪心算法求解

D

因为0-1背包问题不具有最优子结构性质,所以不能用贪心算法求解

参考答案和解析
正确答案: A
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

考虑一个背包问题,共有n=5个物品,背包容量为W=10,物品的重量和价值分别为:w={2,2,6,5,4},v={6,3,5,4,6},求背包问题的最大装包价值。若此为0-1背包问题,分析该问题具有最优子结构,定义递归式为

其中c(i,j)表示i个物品、容量为j的0-1背包问题的最大装包价值,最终要求解c(n,W)。 采用自底向上的动态规划方法求解,得到最大装包价值为(62),算法的时间复杂度为(63)。 若此为部分背包问题,首先采用归并排序算法,根据物品的单位重量价值从大到小排序,然后依次将物品放入背包直至所有物品放入背包中或者背包再无容量,则得到的最大装包价值为(64),算法的时间复杂度为(65)。

A.11

B.14

C.15

D.16.67


正确答案:C

第2题:

考虑下述背包问题的实例。有5件物品,背包容量为100,每件物品的价值和重量如下表所示,并已经按照物品的单位重量价值从大到小徘好序,根据物品单位重量价值大优先的策略装入背包中,则采用了(请作答此空)设计策略。考虑0/1背包问题(每件物品或者全部放入或者全部不装入背包)和部分背包问题(物品可以部分装入背包),求解该实例,得到的最大价值分别为( )。

A.分治
B.贪心
C.动态规划
D.回溯

答案:B
解析:
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。0/1背包考虑该问题时,只能放入1、2、3号物品,故总价值为430,采用部分背包问题可以将物品拆分,故放1、2、3号物品后还可以放入部分4号物品,故总容量为630。

第3题:

关于背包加密算法的描述中,正确的是

A.保证绝对安全

B.物品总重量公开

C.背包问题属于NP问题

D.属于对称加密算法

E.一次背包已不安全


正确答案:BCE
背包加密算法是一种公钥加密算法,该算法中背包的物品总重量是公开的,所有可能的物品也是公开的,但是背包中的物品却是保密的,它是一个NP难度问题。目前大多数一次背包体制均被破译了,一次背包已不安全了。根据解析选项BCE符合题意,故选择BCE项。

第4题:

有0-1背包问题如下: n=6,c=20,P=(4,8,15,1,6,3),W=(5,3,2,10,4,8)。 其中n为物品个数,c为背包载重量,P表示物品的价值,W表示物品的重量。请问对于此0-1背包问题,应如何选择放进去的物品,才能使到放进背包的物品总价值最大。 P=(15,8,6,4,3,1),W=(2,3,4,5,8,10),单位重量物品价值(7.5,2.67,1.5,0.8,0.375,0.1)


正确答案: 可知随着物品的重量增加,物品的价值减少;因此可以用贪心算法来求解。以选取单位重量物品价值高为贪心策略。
1.先把重量为2的物品放进背包,此时剩余载重量为17,P为15。
2.把重量为3的物品放进背包,此时剩余载重量为14,P为23;
3.把重量为4的物品放进背包,此时剩余载重量为10,P为29;
4.把重量为5的物品放进背包,此时剩余载重量为5,P为33;
由于8>5,所以不能再放进背包。
结果是把重量为2,3,4,5的物品装进背包,总价值最大为33。

第5题:

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】0-1背包问题定义为:给定1个物品的价值v[1....i]、重量w[1....i]和背包容量T,每个物品装到背包里或者不装到背包里,求最优的装包方案,使得所得到的价值最大。0-1背创问题具有最优子结构性质,定义c为最优装包方案所获得的最大价值则可得到如下所示的递归式。

【C代码】下面是算法的C语言实现(1)常量和变量说明T:背包容量V[]:价值数组W[]:重量数组C[][]:c[i][j]表示前i个物品在背包容量为j的情况下最优装包方案所能获得的最大价值(2)C程序


【问题1】(8分)根据说明和C代码,填充C代码中的空(1)~(4)【问题2】(4分)根据说明和C代码,算法采用了(5)设计策略。在求解过程中,采用了(6)(自底向上或者自顶向下)的方式。【问题3】(3分)若5项物品的价值数组和重量数组分别为v[]={0,1,6,18,22,28}和w[]={0,1,2,5,6,7},背包容量为T=11,则获得的最大价值为(7)。


答案:
解析:
问题1:1:c[i][j]2: temp

第6题:

● (65) 不能保证求得0-1 背包问题的最优解。

(65)

A. 分支限界法

B. 贪心算法

C. 回溯法

D. 动态规划策略


正确答案:B

第7题:

考虑下述背包问题的实例。有5件物品,背包容量为100,每件物品的价值和重量如下表所示,并已经按照物品的单位重量价值从大到小徘好序,根据物品单位重量价值大优先的策略装入背包中,则采用了( )设计策略。考虑0/1背包问题(每件物品或者全部放入或者全部不装入背包)和部分背包问题(物品可以部分装入背包),求解该实例,得到的最大价值分别为(请作答此空)。

A.605和630
B.605和605
C.430和630
D.630和430

答案:C
解析:
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。0/1背包考虑该问题时,只能放入1、2、3号物品,故总价值为430,采用部分背包问题可以将物品拆分,故放1、2、3号物品后还可以放入部分4号物品,故总容量为630。

第8题:

不能保证求得0-1背包问题的最优解。

A.分支限界法

B.贪心算法

C.回溯法

D.动态规划策略


正确答案:B
解析:题中的分支界限法、回溯法和动态规划策略等实质都需要遍历所有可能的情况(分支界限法会避免没必要的计算分支,在一定程度上优化了算法)。而贪心算法只能保证在当前这一步计算是最优的选择,而不能保证全局的最优解。

第9题:

0-1背包问题的回溯算法所需的计算时间为(),用动态规划算法所需的计算时间为()。


正确答案: O(n*2n);O(min{nc,2n})

第10题:

关于0-1背包问题以下描述正确的是()

  • A、可以使用贪心算法找到最优解
  • B、能找到多项式时间的有效算法
  • C、使用教材介绍的动态规划方法可求解任意0-1背包问题
  • D、对于同一背包与相同的物品,做背包问题取得的总价值一定大于等于做0-1背包问题

正确答案:D

更多相关问题