数据结构题:串'ababaaababaa'的next数组为()

数据结构题:串'ababaaababaa'的next数组为()
A.012345678999 B.012121111212 C.011234223456 D.0123012322345
答案:C
希望你们可以教教我怎么做这道题,谢谢.
swjwss 1年前 已收到1个回答 举报

6966979 幼苗

共回答了15个问题采纳率:86.7% 举报

最好是您记得next数组的算法,这样您就可以依据算法思想推出来,如果不行说个较简单的方法.
即当前位置上的next值即等于其前紧邻的与起始位置开始匹配的最长序列长度(本例需要+1,因为序列的起始位置从1开始而不是从0开始,判断依据是因为起始位置a的next取值为0,因此说明0位置不用于存储序列中的元素).
例如,ababaaababaa中,第二个b的取值为2,因为其前与起始位置开始匹配的最长序列为“a”长度为1(1+1 = 2).
例如,第三个a的取值为3,因为其前与起始位置开始匹配的最长序列为“ab”,长度为2(2 + 1 = 3)

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.013 s. - webmaster@yulucn.com