动态规划法例题

第一个空,用手工计算,可以用贪心法

先选择价值最大的物品,有两个价值是6的物品,重量合计2+4=6

剩余4个空间,只能放重量为2的物品,一共是6+6+3=15

第二个空,需要将所有物品都放进背包舱室,假定物品数量为n,背包空间为w,时间浮渣度是O(nw)

第三个空

部分背包使用归并排序,手工计算,先计算出各个物品1个重量的价值

分别是3,1.5,5/6,0.8,1.5.

首先选择单位价值最大的,单位价值是3的物品。重量是2

接着选择单位价值次大的,单位价值是1.5,重量分别是2和4,一共占用了2+2+4=8

剩下两个重量,选择单位价值是5/6的,总价值是=2*3+2*1.5+2*1.5+2*5/6=16.67

第四个空

每次计算各个物品的单位价值时间复杂度是O(logn)

每个物品都放背包里,时间复杂度是O(n)

时间复杂度是O(nlogn)

相关推荐
ysu_03144 分钟前
05 | 持久化撤销提示非核心功能
算法·游戏程序
浮沉9871 小时前
二分查找算法概述&通用模板
算法
Keven_112 小时前
算法札记:SPFA判负环算法的证明
算法
什巳2 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
Jerry3 小时前
LeetCode 347. 前 K 个高频元素
算法
Young Doro3 小时前
SAC 算法
线性代数·算法·机器学习
罗超驿3 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
:-)4 小时前
算法-堆排序
数据结构·算法·排序算法