更新 背包理论基础 排版格式修复

This commit is contained in:
jinbudaily
2023-07-26 15:06:55 +08:00
parent 0e3500ed1c
commit 126aaac841
2 changed files with 19 additions and 17 deletions

View File

@ -8,8 +8,11 @@
# 动态规划01背包理论基础
## 算法公开课
**《代码随想录》算法视频公开课:[带你学透0-1背包问题](https://www.bilibili.com/video/BV1cg411g7Y6/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[带你学透0-1背包问题](https://www.bilibili.com/video/BV1cg411g7Y6/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
这周我们正式开始讲解背包问题!
@ -37,7 +40,7 @@ leetcode上没有纯01背包的问题都是01背包应用方面的题目
之前可能有些录友已经可以熟练写出背包了,但只要把这个文章仔细看完,相信你会意外收获!
## 01 背包
### 01 背包
有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]得到的价值是value[i] 。**每件物品只能用一次**,求解将哪些物品装入背包里物品价值总和最大。
@ -67,7 +70,7 @@ leetcode上没有纯01背包的问题都是01背包应用方面的题目
以下讲解和图示中出现的数字都是以这个例子为例。
## 二维dp数组01背包
### 二维dp数组01背包
依然动规五部曲分析一波。
@ -226,9 +229,6 @@ dp[i-1][j]和dp[i - 1][j - weight[i]] 都在dp[i][j]的左上角方向(包括
主要就是自己没有动手推导一下dp数组的演变过程如果推导明白了代码写出来就算有问题只要把dp数组打印出来对比一下和自己推导的有什么差异很快就可以发现问题了。
## 完整c++测试代码
```cpp
void test_2_wei_bag_problem1() {
vector<int> weight = {1, 3, 4};
@ -275,7 +275,7 @@ int main() {
## 其他语言版本
### java
### Java
```java
public class BagProblem {
@ -396,7 +396,8 @@ public class BagProblem {
```
### python
### Python
无参数版
```python
def test_2_wei_bag_problem1():
@ -456,8 +457,7 @@ if __name__ == "__main__":
```
### go
### Go
```go
func test_2_wei_bag_problem1(weight, value []int, bagweight int) int {
@ -498,7 +498,7 @@ func main() {
}
```
### javascript
### Javascript
```js
function testWeightBagProblem (weight, value, size) {

View File

@ -3,10 +3,13 @@
<img src="../pics/训练营.png" width="1000"/>
</a>
<p align="center"><strong><a href="https://mp.weixin.qq.com/s/tqCxrMEU-ajQumL1i8im9A">参与本项目</a>,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们收益!</strong></p>
# 动态规划01背包理论基础滚动数组
**《代码随想录》算法视频公开课:[带你学透0-1背包问题滚动数组](https://www.bilibili.com/video/BV1BU4y177kY/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 算法公开课
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[带你学透0-1背包问题滚动数组](https://www.bilibili.com/video/BV1BU4y177kY/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
昨天[动态规划关于01背包问题你该了解这些](https://programmercarl.com/背包理论基础01背包-1.html)中是用二维dp数组来讲解01背包。
@ -29,7 +32,7 @@
问背包能背的物品最大价值是多少?
## 一维dp数组滚动数组
### 一维dp数组滚动数组
对于背包问题其实状态都是可以压缩的。
@ -154,8 +157,6 @@ dp[1] = dp[1 - weight[0]] + value[0] = 15
## 一维dp01背包完整C++测试代码
```CPP
void test_1_wei_bag_problem() {
vector<int> weight = {1, 3, 4};
@ -318,7 +319,7 @@ func main() {
}
```
### javaScript
### JavaScript
```js
@ -459,3 +460,4 @@ fn test_wei_bag_problem2() {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>