用贪心算法设计0-1背包问题。要求:说明所使用的算法策略;写出算法实现的主要步骤;分析算法的时间。

题目
问答题
用贪心算法设计0-1背包问题。要求:说明所使用的算法策略;写出算法实现的主要步骤;分析算法的时间。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.分支限界法

B.贪心算法

C.回溯法

D.动态规划策略


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

第2题:

算法的主要任务之一是分析()

A算法是否具有较好的可读性

B算法中是否存在语法错误

C算法的功能是否符合设计要求

D算法的执行时间和问题规模之间的关系


参考答案:D

第3题:

矩阵连乘问题的算法可由什么设计实现()

A.分支界限算法

B.动态规划算法

C.贪心算法

D.回溯算法


参考答案:B

第4题:

算法分析的主要任务是分析()。

  • A、算法的执行效率与问题规模之间的关系
  • B、算法中是否存在语法错误
  • C、算法的功能是否符合设计要求
  • D、算法是否具有较好的可读性

正确答案:A

第5题:

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

(65)

A. 分支限界法

B. 贪心算法

C. 回溯法

D. 动态规划策略


正确答案:B

第6题:

背包问题贪心算法的时间复杂性。


参考答案:背包问题贪心算法的时间复杂性
  如果不考虑排序的时间,背包问题贪心算法的时间就是
  循环语句:
  for i=1 to n do执行的时间,循环体语句可以用常数c表示,
  算法的时间复杂性为:T(n)=cn。

第7题:

对于本题的作业处理问题,用图4-1的贪心算法策略,能否求得最高收益?(6)。用贪心算法求解任意给定问题时,是否一定能得到最优解?(7)。


正确答案:(6)能或可以、行及其他含义相同的词语 (7)不能或不可以、不行及其他含义相同的词语
(6)能,或可以、行及其他含义相同的词语 (7)不能,或不可以、不行及其他含义相同的词语 解析:本题考查的是算法的设计和分析技术。
问题1考查的是贪心算法的流程图。第(1)空表示第2个作业到第n个作业的主循环,i是循环控制变量,故第(1)空填入i<=n。
应注意到数组/中的作业J[i](1≤i≤k)是在其期限之前完成的作业,且d[J[i]]≤d[J[i+1]] (1≤id[i]。另一方面, J[D[R]]与r的关系只有两种:J[d[r]]>r,表示还可能在J[1]与J[r]之间插入作业i;J[d[r]]=r,表示不可能在J[1]~J[r]之间插入作业i。J[d[r]]问题2是本题算法的一个实例。6个作业的收益已经按降序排好序。根据流程图,将作业1,2,4和5放入数组J中,并得到总收益为220,具体过程如表4-1所示。

问题3考查算法策略。对于该题,贪心策略可以求得最优解。但不是所有的问题都能通过贪心策略来求得最优解,一个典型的例子是0-1背包问题。举例如下,有三件物品,背包可容纳50磅重的东西,每件物品的详细信息如表4-2所示,问如何装包使得其价值最大?

如果按贪心策略求解该问题,优先选择单位价值最大的物品,则先选择物品1,然后选择物品2。由于此时背包容量还剩下50-10-20=20,不足以容纳物品3,故总价值为 60+100=160美元。但若选择物品2和物品3,容量总和为20+30,小于等于总容量50,得到总价值为100+120=220,会得到更优解。此时用贪心策略不能得到最优解。

第8题:

背包问题的贪心算法所需的计算时间为O(2n)。()

此题为判断题(对,错)。


正确答案:×

第9题:

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


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

第10题:

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

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

正确答案:D

更多相关问题