用动态规划求解 01 背包问题,那篇文章提的方法是从背包容量为 0 开始一步一步推导到最大背包容量,然后得出最终结果。其实这个过程中有很多数据是用不到的,可以参见下表,该表中要求得红色结果,只需 7 个绿色数据即可。因此,可以反过来用递归的方法实现,效率更高。
求 c[3,10] 只需要递归调用上面 7 个值即可,无需把整张表都求出。
Read full article from 01 背包递归解法 | 亚洲码农
用动态规划求解 01 背包问题,那篇文章提的方法是从背包容量为 0 开始一步一步推导到最大背包容量,然后得出最终结果。其实这个过程中有很多数据是用不到的,可以参见下表,该表中要求得红色结果,只需 7 个绿色数据即可。因此,可以反过来用递归的方法实现,效率更高。
求 c[3,10] 只需要递归调用上面 7 个值即可,无需把整张表都求出。
Read full article from 01 背包递归解法 | 亚洲码农
No comments:
Post a Comment