必威体育Betway必威体育官网
当前位置:首页 > IT技术

next和nextval的求法

时间:2019-10-13 08:13:14来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

nextval

有的时候再学kmp算法的时候我们第一步就被next和nextval吓坏了,今天我来讲一下我求next和nextval的方法和技巧,如有错误也希望大家及时指正。

  0 1 2 3 4 5 6 7 8 9 10
字符串

a

b a a c d a a a a b
next -1 0 0 1 1 0 0 1 1 1 1
nextval -1 0 -1 1 1 0 -1 1 1 1 0

next的求法:第一个a的next值默认为-1,第二个b的默认值为0,从第三个元素开始,找以第一个元素开始和与当前元素前一个字符结尾的最长串的长度。比如第三个元素a(也就是头上数字为2)的next为0,第四个元素的next为1,以此类推我们可以得到整个字符串的next值。写到这儿你可能会说,你的答案是错的,别着急,听我慢慢说说。

nextval的求法我们遵循一个原则,那就是同变不同不变。其中第一个元素的nextval值和他的next值一样为-1,第二个元素是b,他的next值为0,0对应的元素为a,不同,即不变,nextval为0,同理第三个元素为a,a的next为0,0下面的就是a,相同,即变!将第三个元素的nextval值和刚刚比较的那个元素的nextval值保持一致。以此类推。

得到的next值和nextval值如下:

next -1 0 0 1 1 0 0 1 1 1 1
nextval -1 0 -1 1 1 0 -1 1 1 1 0

正确结果与上表结果只差一步:

将表格中的数据在原来的基础上加1即可。

next 0 1 1 2 2 1 1 2 2 2 2
nextval 0 1 0 2 2 1 0 2 2 2 1

正确答案就到的啦

相关阅读

数据库序列 nextval

1.什么是sequence?其作用是什么? 在Oracle数据库中,什么是序列呢?其中的作用是什么呢?其实sequence是序列号生成器,可以为表中的行自

oracle序列参数:nextval和currval

oracle序列参数:nextval和currval序列的两参数:nextval和currval。Nextval  returns the next  avaiable sequence value.It retu

关于KMP算法中next数组和nextVal数组求法的整理

例如: 序号 1 2 3 4 5 6 7 8 模式串 a b a a b c a c next值 0 1 1 2 2 3 1 2 next数组的求解方法是: 第一位的next值为0,第二位的n

Next 值与 Nextval 值的计算

KMP算法对模式串求解其Next值和Nextval值的计算方法 Next值的计算 方法一 方法二 Nextval值的计算 模式串S = “a

分享到:

栏目导航

推荐阅读

热门阅读