KMP 算法 Next 数组求解:已知串 S='ababa',Next 数组值为?
已知串 S='ababa',KMP 算法中的 Next 数组值为 0 1 2 3 0。
解释:
KMP 算法的 Next 数组用于记录模式串中前缀和后缀的最大匹配长度。
对于字符串 S='ababa',Next 数组的计算过程如下:
| 下标 | 字符 | 前缀 | 后缀 | 最长匹配长度 | Next 值 | |---|---|---|---|---|---| | 0 | 'a' | | | 0 | 0 | | 1 | 'b' | 'a' | | 0 | 1 | | 2 | 'a' | 'ab' | 'a' | 1 | 2 | | 3 | 'b' | 'aba' | 'ab' | 2 | 3 | | 4 | 'a' | 'abab' | 'aba' | 0 | 0 |
因此,Next 数组的值为 0 1 2 3 0。
原文地址: https://www.cveoy.top/t/topic/j9Yk 著作权归作者所有。请勿转载和采集!