经典算法研究系列:六、教你从头到尾彻底理解KMP算法(二)

2014-11-23 21:53:33 · 作者: · 浏览: 28
th];
int index;
overlay_function[0] = -1;
for(int i=1;i {
index = overlay_function[i-1];
//store previous fail position k to index;

while(index>=0 && pattern[i]!=pattern[index+1])
{
index = overlay_function[index];
}
if(pattern[i]==pattern[index+1])
{
overlay_function[i] = index + 1;
}
else
{
overlay_function[i] = -1;