自学内容网 自学内容网

【经典问题】精析:一文搞懂 动态规划解决 0-1背包问题

背包问题核心元素:

数量为n的物品,容量为size的背包,给出每个物品的重量weight和价值val,求背包能装的物品最大总价值。

求解思路的本质:

从小体量(少物品,少容量)的问题开始,不断求出局部最优解,然后以此为基础放大问题(求得较多物品,较大容量下最优解)

重复上述过程,直到求出题目要求的最优解(数量为n的物品,容量为size的背包条件下的)

//一下子无法理解没关系哈,接着往下看,时不时回来对照着看看这总结

概念意义的解析:

核心工具,在于我们自己初始化的一个二维数组

int arr[obj_num+1][bag_size+1] = {0};//所有元素均初始化为0

// 第 i 行:第 i 种物品 (其中物品从下标为1开始放,第 0 行全部初始化为0

// 第 j 列:背包容量为 j 

// 第 i 行 第 j 列数组的值(即arr[ i ][ j ])相当于上文提到的 “小体量背包问题  :数量为


原文地址:https://blog.csdn.net/H13420972436/article/details/140667200

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!