数据结构KMP算法中next函数的求解思想及其解释
来源:互联网 发布:linux挂载ntfs分区 编辑:程序博客网 时间:2024/05/16 09:38
一、算法描述:第一位的next值为0,第二位的next值为1,后面求解每一位的next值时,根据前一位进行比较。首先将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果不等,向前继续寻找next值对应的内容来与前一位进行比较,直到找到某个位上内容的next值对应的内容与前一位相等为止,则这个位对应的值加上1即为需求的next值;如果找到第一位都没有找到与前一位相等的内容,那么需求的位上的next值即为1。二、解释以及具体实现:先看看next数据值的求解方法位序 1 2 3 4 5 6 7 8模式串 a b a a b c a cnext值 0 1 1 2 2 3 1 2next数组的求解方法是:1.第一位的next值为02.第二位的next值为1后面求解每一位的next值时,根据前一位进行比较3.第三位的next值:第二位的模式串为b ,对应的next值为1;将第二位的模式串b与第一位的模式串a进行比较,不相等;则第三位的next值为14.第四位的next值:第三位的模式串为a ,对应的next值为1;将第三位的模式串a与第一位的模式串a进行比较,相同,则第四位的next值得为25.第五位的next值:第四位的模式串为a,对应的next值为2;将第四位的模式串a与第二位的模式串b进行比较,不相等;第二位的b对应的next值为1,则将第四位的模式串a与第一位的模式串a进行比较,相同,则第五位的next的值为26.第六位的next值:第五位的模式串为b,对应的next值为2;将第五位的模式串b与第二位的模式中b进行比较,相同,则第六位的next值为37.第七位的next值:第六位的模式串为c,对应的next值为3;将第六位的模式串c与第三位的模式串a进行比较,不相等;第三位的a对应的next值为1,则将第六位的模式串c与第一位的模式串a进行比较,不相同,则第七位的next值为18.第八位的next值:第七位的模式串为a,对应的next值为1;将第七位的模式串a与第一位的模式串a进行比较,相同,则第八位的next值为2以上这种分析方法,位序是从1开始的,如果位序从0开始,刚第一位的next值为-1,后面的方法则相同
0 0
- 数据结构KMP算法中next函数的求解思想及其解释
- 数据结构之模式匹配KMP算法的next数组求解
- KMP算法的next函数求解和分析过程
- KMP算法中next和nextval数组的求解
- KMP模式匹配算法中next和nextval的求解
- KMP模式匹配算法中next和nextval的求解
- KMP算法中next函数的实现
- KMP算法中next函数的解析
- KMP算法中next函数的解析
- KMP函数的next函数求解方法
- kmp算法中next[]数组求法的基本思想
- KMP算法中next函数
- KMP算法next值的求解
- KMP算法 next与nextval的求解
- KMP的Next函数求解小记
- 数据结构——关于KMP算法中next函数的详细解析
- 比较好懂的KMP算法解释(附next数组求解方法)
- KMP中求解next值的模板
- [LeetCode]33. Search in Rotated Sorted Array
- 多线程系列:竞态临界区、共享资源
- SSH框架整合配置所需JAR包(SSH整合)
- LeetCode *** 155. Min Stack
- HDU 4975 A simple Gaussian elimination problem网络流
- 数据结构KMP算法中next函数的求解思想及其解释
- oracle小数点前零丢失的问题
- 1026_5位以内的对称素数
- JQuery选择器
- 文章标题
- AlarmManager定时重复任务,发送心跳
- 学会满足
- php环境搭建
- js创建对象