背包问题系列算法详解.docxVIP

  • 9
  • 0
  • 约4.86千字
  • 约 5页
  • 2022-07-20 发布于上海
  • 举报
背包问题系列算法详解 背包问题是一个关于最优解的经典问题。通常被讨论的最多的,最经典的背包问题是 0-1 背包问题(0-1 Knapsack Problem)。它是一切背包问题及相关背包问题的基础。本篇博文将详细分析 0-1 背包问题,并给出 0-1 背包问题的几种解法,同时也对 0-1 背包问题的内涵进行延伸,丰富其外延至完全背包问题和多重背包问题,并给出背包问题的算法实现过程,希望 对大家有帮助。 一、0-1 背包问题 有 N 件物品和一个容量为 V 的背包。第 i 件物品(每个物品只有一件)的费用是 c[i], 价值是 w[i]。求解将哪些物品装入背包可使价值总和最大。 递归求解算法如下: #include iostream #define CAPACITY 10 #define GOODSNUM 6 using namespace std; int nVol[GOODSNUM]; int nValue[GOODSNUM]; int knapsack(int itemIndex,int vol); void main() { int i=0,j=0; while(iGOODSNUM) { coutinput the i+1th item(volume and value):; cinnVol[i]nValue[i]; i++; } coutThe max value is:

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档