动态规划法例题

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

先选择价值最大的物品,有两个价值是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)

相关推荐
知乎的哥廷根数学学派14 小时前
基于物理信息嵌入与多维度约束的深度学习地基承载力智能预测与可解释性评估算法(以模拟信号为例,Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习
古城小栈14 小时前
Rust 丰富&好用的 格式化语法
前端·算法·rust
AuroraWanderll15 小时前
类和对象(六)--友元、内部类与再次理解类和对象
c语言·数据结构·c++·算法·stl
leaves falling15 小时前
c语言-给定两个数,求这两个数的最大公约数
数据结构·算法
SamtecChina202315 小时前
Electronica现场演示 | 严苛环境下的56G互连
大数据·网络·人工智能·算法·计算机外设
Tim_1015 小时前
【C++入门】05、复合类型-数组
开发语言·c++·算法
jikiecui15 小时前
信奥崔老师:三目运算 (Ternary Operator)
数据结构·c++·算法
无限进步_15 小时前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
t1987512815 小时前
同伦(Homotopy)算法求解非线性方程组
算法