This commit is contained in:
krahets
2023-08-20 13:37:08 +08:00
parent 2e27ad1680
commit 44a8568356
32 changed files with 140 additions and 130 deletions
@@ -29,6 +29,8 @@ status: new
<p align="center"> 图:基于决策树模型表示编辑距离问题 </p>
### 1. &nbsp; 动态规划思路
**第一步:思考每轮的决策,定义状态,从而得到 $dp$ 表**
每一轮的决策是对字符串 $s$ 进行一次编辑操作。
@@ -74,7 +76,7 @@ $$
观察状态转移方程,解 $dp[i, j]$ 依赖左方、上方、左上方的解,因此通过两层循环正序遍历整个 $dp$ 表即可。
### 代码实现
### 2. &nbsp; 代码实现
=== "Java"
@@ -413,7 +415,7 @@ $$
<p align="center"> 图:编辑距离的动态规划过程 </p>
### 状态压缩
### 3. &nbsp; 状态压缩
由于 $dp[i,j]$ 是由上方 $dp[i-1, j]$ 、左方 $dp[i, j-1]$ 、左上方状态 $dp[i-1, j-1]$ 转移而来,而正序遍历会丢失左上方 $dp[i-1, j-1]$ ,倒序遍历无法提前构建 $dp[i, j-1]$ ,因此两种遍历顺序都不可取。