我已经尝试过在论文http://webglimpse.net/pubs/suffix.pdf中的理论
但是当他们说我有点迷茫
令 Ai 为第一个桶中的第一个后缀(即 Pos[0] = i),并考虑 Ai-h(如果 ih < 0,那么我们忽略 Ai 并取 Pos[1] 的后缀,依此类推) . 由于 Ai 从最小的 h 符号字符串开始,Ai-h 应该是其 2h 桶中的第一个。
我无法理解这种说法。为什么如果 ih < 0 可以忽略 Ai-h。当阶段 1 中 ih > 0 时,如何在 const time 中确定位置?
一个示例 impl 是http://belbesy.wordpress.com/2012/10/10/spoj-649-distinct-substrings-suffix-arrays-nlgn/