试题详情
- 简答题分别用贪心算法、动态规划法、回溯法设计0-1背包问题。要求:说明所使用的算法策略;写出算法实现的主要步骤;分析算法的时间。
- (1)贪心算法O(nlog(n))
首先计算每种物品单位重量的价值Vi/Wi,然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。若将这种物品全部装入背包后,背包内的物品总重量未超过C,则选择单位重量价值次高的物品并尽可能多地装入背包。依此策略一直地进行下去,直到背包装满为止。
具体算法可描述如下:
(2)动态规划法O(nc)
M(i,j)是背包容量为j,可选择物品为i,i+1,…,n时0-1背包问题的最优值。由0-1背包问题的最优子结构性质,可以建立计算m(i,j)的递归式如下。
(3)回溯法O(2n)
关注下方微信公众号,在线模考后查看
热门试题
- 数据结构与算法里,关于二叉排序树的递归性
- 该程序输出的图形是()
- 图的m着色问题可用()法求解,其解空间树
- do{printf("Tobeornot
- 数据结构与算法里,希尔排序又称为()。
- 构成数组的各个元素可以有不同的数据类型。
- chars1[100]="ABC",s2
- 设x1、x
- 对于一维数组,访问其中的元素时,可随机访
- 冒泡排序属于()
- 假设有7个物品,它们的重量和价值如下表所
- 数据结构与算法中,若哈希表的装填因子α<
- 用分支限界法解0/1背包问题,若物品i选
- 以下能正确定义一维数组的选项是()
- 根据二叉排序树的特点,查找过程类似于()
- 数据结构与算法里,一趟()最后要返回中轴
- 简述用计算机求解问题的步骤。
- 数据结构与算法里,已知二维数组inta[
- 数据结构与算法里,冒泡排序核心思想是()
- 简单选择排序的时间复杂度与快速排序的不一