我知道时间复杂度为O(n^2)
,但是任何人都知道它通常需要多长时间才能使用目前最常用的方法来转换20M文本文件?感谢。
答案 0 :(得分:0)
BWT的瓶颈通常是分拣步骤(O(n2))。但是,快速实现依赖于后缀排序,而不是线性时间(例如后缀阵列感应排序)。 此外,块的大小也很重要。 最后,实现细节很重要。
但是,为了给你一个球场评估,这是我的块压缩器(BWT + MTFT + ZLT + Huffman)在具有Intel Core i7 @ 3.4 GHz的Windows 7系统上的运行(块大小为1MB)。 该代码可在此处获取:http://code.google.com/p/kanzi/
请记住,仅BWT步骤更快。
编码......
文件大小:57795262 编码耗时7061毫秒 比率:0.28658637 编码:16563336 吞吐量(KB / s):7993
解码......
解码耗时2712毫秒 解码:57795262 吞吐量(KB / s):20811