【01背包问题】:动态规划、回溯法和分支限界法 三种算法的对比与分析(时间复杂度方面)

动态规划(dp)

01背包问题的动态规划解法递归方程为:

当 j >= wi 时, m(i, j) = max { m(i-1, j), m(i-1, j-wi) + vi };
当 j < wi 时, m(i, j) = m(i-1, j)

此时时间复杂度为O(n)

回溯法

使用回溯法解决01背包问题时,若可选物品为n个,则其解空间由长度为n的0-1向量组成~

此时时间复杂度为O(n2^n)

分支限界法

使用分支限界法时,首先要对数据进行预处理,将物品重量价值按从小到大排列。分治限界法的缺点是占用内存大,效率不高~

时间复杂度为O(2^n)

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值