0

我无法理解以下内容:
我们有 String ABRACADABRA。我们以分组为例: S分组:

S0 = <S[3i]S[3i + 1]S[3i + 2] for i = 0,1,2...> where<>表示一个数组,S[i] 表示Sposition 中的字符i

我期待这一点,S0=<S[0]S[4]S[8]S[11]>但根据我阅读的书中的“解决方案”,它S0=[ABR][ACA][DAB][RA]本质上不是S[0]S[3]S[6]S[9].
那么我在公式中读错了S0 = <S[3i]S[3i + 1]S[3i + 2] for i = 0,1,2...>什么?

如果重要的话,它来自我读过的关于后缀数组的一章。我只有公式有问题

4

1 回答 1

3

S0=[ABR][ACA][DAB][RA]不是S[0]S[3]S[6]S[9]S[0]S[3]S[6]S[9]将是AADR

这就是发生的事情:

对于i=0
<S[3i]S[3i+1]S[3i+2]> = <S[3*0]S[3*0+1]S[3*0+2]> = <S[0]S[1]S[2]> = <ABR>

对于i=1
<S[3i]S[3i+1]S[3i+2]> = <S[3*1]S[3*1+1]S[3*1+2]> = <S[3]S[4]S[5]> = <ACA>

对于i=2
<S[3i]S[3i+1]S[3i+2]> = <S[3*2]S[3*2+1]S[3*2+2]> = <S[6]S[7]S[8]> = <DAB>

对于i=3
<S[3i]S[3i+1]S[3i+2]> = <S[3*3]S[3*3+1]S[3*3+2]> = <S[9]S[10]S[11]> = <RA >

于 2012-12-15T19:40:17.503 回答