Burrows Wheeler 变换 (BWT)
我在掌握 Burrows Wheeler 变换(BWT)的解码算法时遇到困难。我已经在线阅读并浏览了一些示例代码,但是,它们似乎都在使用“主索引”来解码编码字符串。
我的问题是,我们如何将像“rdacraaaabb”这样的 BWT 编码字符串解码为其原始的“abracadabra”。
一些示例代码会很棒。
I am having difficulties in grasping the decode algorithm for the Burrows Wheeler transform (BWT.) I've done reading online and went through some sample code, but, they all seem to be using a 'primary index' to decode an encoded string.
My question is, how can we decode a BWT encoded string like 'rdacraaaabb' to its original 'abracadabra'.
Some sample code would be wonderful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您想查看 http://www.phpclasses.org/package/3559-PHP-compress-and-decompress-data-using-BWT-and-MTF.html。
You want to look at http://www.phpclasses.org/package/3559-PHP-Compress-and-decompress-data-using-BWT-and-MTF.html.
反演部分是该算法中最简单的部分:创建累积直方图并根据其排名检索值。
您可以在此处找到基于 BWT 的完整块压缩器/解压缩器:http://code.google.com/p/kanzi/source/browse/java/src/kanzi/transform/BWT.java
The inverse part is the easiest part of the algorithm: create cumulative histograms and retrieve values based on their rank.
You can find a complete block compressor/decompressor based on the BWT here: http://code.google.com/p/kanzi/source/browse/java/src/kanzi/transform/BWT.java