【发布时间】:2016-11-20 00:36:30
【问题描述】:
我确实了解KMP算法,即存储值以匹配带有前缀的后缀然后在字符串中搜索时不返回的概念,因为模式“abcdabca”前缀数组将是{0,0,0, 0,1,2,3,1} 我知道直到 {0,0,0,0,1,2,3,_} 然后第 4 位的“d”最后与“a”不匹配。然后算法说如果 j!=0 回到 arr[j-1],我可以看到这给了我们正确的结果,但我不明白为什么我们要回到前一个 element[data]理解基础。
我们返回直到找到匹配元素或 j==0,我无法理解为什么要返回。
谢谢
【问题讨论】:
-
了解不匹配问题并不是一件简单的事情。试试这个例子和更多例子,用手在纸上弄明白。