奥,我似乎已经了解了。这个算法看起来消耗应该非常巨大呀。我回去研究一下他对可实现性。
但是解压时有个问题:例如banana,经过BWTS之后输出为annbaa,按不断前移排序的方法还原:
还原的结果为:
aaaaa
anana
anana
bbbbb
nanan
nanan
具体是如何找出原字符串的呢?我到现在也没想明白。。。
还有,另一种方法:
i T BWTS Next
- - ---- ----
0 A A 0
1 A N 4
2 A N 5
3 B B 3
4 N A 1
5 N A 2
The linked list has 4 cycles: (0), (1,4), (2,5), (3). Reversing the order of
the cycles and concatenating, we get (3,2,5,1,4,0). The corresponding elements
of T spell out "BANANA".
这个(0),(1,4)(2,5)(3),是如何形成的?我本来以为使用lyndon 的方法,结果发现并不是。还请RICH大神指点一二。这种东西我实在是接触的不多,谢谢了、