【问题标题】:Meaning of S[3i]S[3i + 1]S[3i + 2] [closed]S[3i]S[3i + 1]S[3i + 2] 的含义 [关闭]
【发布时间】:2012-12-15 19:31:48
【问题描述】:

我无法理解以下内容:
我们有字符串ABRACADABRA。我们将其分组为示例: S分群:

S0 = <S[3i]S[3i + 1]S[3i + 2] for i = 0,1,2...> 其中<> 表示一个数组,S[i] 表示S 位置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...> 中读错了什么?

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

【问题讨论】:

    标签: string algorithm data-structures suffix-array array-algorithms


    【解决方案1】:

    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 >

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2012-12-18
      • 2020-03-19
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 2015-08-30
      相关资源
      最近更新 更多