【发布时间】:2012-10-22 00:59:22
【问题描述】:
在研究 Knuth–Morris–Pratt 算法 时:
ABC ABCDAB ABCDAB
对于一个模式:
ABCDABD
我被困在一个步骤上。我将突出显示我目前卡住的步骤。
ABC ABCDAB ABCDAB
ABCDABD
ABC ABCDAB ABCDAB
ABCDABD
ABC ABCDAB ABCDAB
ABCDABD
ABC ABCDAB ABCDAB
ABCDABD--------------------(WHY THIS ?)
我不明白上面的步骤。我希望上述步骤是:
ABC ABCDAB ABCDAB
ABCDABD
请解释“正确”步骤的逻辑/原因。
【问题讨论】:
-
模式中的第二个 AB 匹配 ,所以我们移动使得第一个 AB 现在是第二个 AB 的位置。为什么你认为我们可以进一步转移?
-
@n.m.你能告诉我在使用 knuth morris 算法时要查找的标准吗?虽然我尝试阅读wikipedia article,但我并不完全理解它
标签: algorithm string-matching knuth-morris-pratt