城南彼岸花复开 发表于 2022-3-11 23:16

求大佬讲解一下这段KMP代码

就是KMP算法的next数组是怎么构造出来最长子串的,这个i和j的指针定义和操作和nexttable定义和操作我愣是没看懂,谢谢各位大佬指点{:301_975:}



void GetNextTable(int m){//构造next数组,代表公共字符串长度    int j = 0;
    nextTable = -1;
    int i = nextTable;
    while(i < m){
      if(i == -1 || pattern == pattern){
            ++i;
            ++j;
            nextTable = i;
      }
      else{
            i = nextTable;
      }
    }
}

不负韶华 发表于 2022-3-11 23:36

打断点跟一下,

城南彼岸花复开 发表于 2022-3-12 21:08

不负韶华 发表于 2022-3-11 23:36
打断点跟一下,

这段代码怎么跑?{:301_1005:}
页: [1]
查看完整版本: 求大佬讲解一下这段KMP代码