添加查找算法和SingleProblem

This commit is contained in:
huihut
2018-02-11 01:08:43 +08:00
parent 4667db6985
commit 8a3d4f0e08
29 changed files with 1212 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
## 背包问题
### 代码
[背包问题代码](pack.cpp)
### 问题说明
有N件物品和一个容量为V的背包。
第i件物品的重量是w[i],价值是v[i]。
求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,
且价值总和最大。
### 功能说明
本程序用动态规划的思想解决了背包问题,并用了两种算法:
迭代法、递归法。在迭代法中实现了打印背包问题的表格。
### 代码简述
通过用户输入数据,程序输入检测,动态分配空间,选择算法,
用动态规划的思想求解背包问题。
#### 迭代法:
通过遍历n行W列,迭代每行每列的值,并把最优解放到
n行(在数组中为第n+1行)W列(在数组中为第W+1列)中。
#### 递归法:
通过每次返回前i个物品和承重为j的最优解,
递归计算总背包问题的最优解。