Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8c50622

Browse files
update content
1 parent dff9cbf commit 8c50622

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

‎动态规划系列/动态规划详解进阶.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ int dp(int[] memo, int n) {
135135
}
136136
```
137137

138-
<visual slug='mydata-fib2'/>
138+
<visual slug='mydata-fib2'/>
139139

140140
现在,画出递归树,你就知道「备忘录」到底做了什么。
141141

@@ -179,9 +179,15 @@ int fib(int N) {
179179
}
180180
```
181181

182+
<visual slug='mydata-fib3' />
183+
184+
画个图就很好理解了,而且你发现这个 DP table 特别像之前那个「剪枝」后的结果,只是反过来算而已:
185+
182186
![](https://labuladong.github.io/pictures/动态规划详解进阶/4.jpg)
183187

184-
画个图就很好理解了,而且你发现这个 DP table 特别像之前那个「剪枝」后的结果,只是反过来算而已。实际上,带备忘录的递归解法中的「备忘录」,最终完成后就是这个 DP table,所以说这两种解法其实是差不多的,大部分情况下,效率也基本相同。
188+
实际上,带备忘录的递归解法中的那个「备忘录」`memo` 数组,最终完成后就是这个解法中的 `dp` 数组,你对比一下可视化面板中两个算法执行的过程可以更直观地看出它俩的联系。
189+
190+
所以说自顶向下、自底向上两种解法本质其实是差不多的,大部分情况下,效率也基本相同。
185191

186192
这里,引出「状态转移方程」这个名词,实际上就是描述问题结构的数学形式:
187193

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /