模式串'abaabcac' 的 next 函数值序列计算方法
要计算模式串'abaabcac' 的 next 函数值序列,可以按照以下步骤进行:
-
初始化一个长度为模式串长度的数组 next,所有元素的值都为 0。
-
从第二个元素开始,依次计算每个位置的 next 值。
-
对于第 i 个位置,先将 next[i] 的值设为 0。
-
从第 i-1 个位置开始,逐个向前比较前缀和后缀。
-
如果前缀和后缀相等,则将 next[i] 的值设为前缀的长度。
-
如果前缀和后缀不相等,将前缀的长度减一,然后继续比较。
-
-
重复步骤 4,直到找到一个相等的前缀和后缀,或者前缀的长度为 0。
-
返回 next 数组。
按照以上步骤计算,模式串'abaabcac' 的 next 函数值序列为 [0, 0, 1, 1, 2, 0, 1, 0]。
原文地址: http://www.cveoy.top/t/topic/dcNn 著作权归作者所有。请勿转载和采集!