Skip to content

Commit 0a05d2f

Browse files
committed
Update 03.String-KMP.md
1 parent 5fdb5cf commit 0a05d2f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Diff for: Contents/06.String/02.String-Single-Pattern-Matching/03.String-KMP.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ KMP 算法就是使用了这样的思路,对模式串 $p$ 进行了预处理
7070
- 文本串 $T$ 从下标位置 $i$ 开始连续的 $j$ 个字符,一定与模式串 $p$ 的前 $j$ 个字符一模一样,即:$T[i: i + j] == p[0: j]$。
7171
- 而如果模式串 $p$ 的前 $j $ 个字符中,前 $k$ 位前缀和后 $k$ 位后缀相同,即 $p[0: k] == p[j - k: j]$,并且要保证 $k$ 要尽可能长。
7272

73-
可以推出:文本串子串的后 $k$ 位后缀和模式串子串的前 $k$ 位是相同的,即 $T[i + m - k: i + m] == p[0: k]$(这部分是已经比较过的),不需要再比较了,可以直接跳过。
73+
可以推出:文本串子串的后 $k$ 位后缀和模式串子串的前 $k$ 位是相同的,即 $T[i + j - k: i + j] == p[0: k]$(这部分是已经比较过的),不需要再比较了,可以直接跳过。
7474

75-
那么我们就可以将文本串中的 $T[i + m]$ 对准模式串中的 $p[k]$,继续进行对比。这里的 $k$ 其实就是 $next[j - 1]$。
75+
那么我们就可以将文本串中的 $T[i + j]$ 对准模式串中的 $p[k]$,继续进行对比。这里的 $k$ 其实就是 $next[j - 1]$。
7676

7777
## 2. KMP 算法步骤
7878

0 commit comments

Comments
 (0)