加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – BurrowsWheeler转换(BWT)的最佳排序算法

发布时间:2020-12-15 04:09:11 所属栏目:Java 来源:网络整理
导读:Burrows Wheeler Transformation让我陷入了一些问题.这是一个大学项目,但这只是其中很小的一部分.整个项目由3种不同的算法组成,用于数据压缩. 我只想弄清楚什么是最节省内存和时间的排序算法用于Burrows Wheeler Transformation中的后缀排序?编码需要尽可能
Burrows Wheeler Transformation让我陷入了一些问题.这是一个大学项目,但这只是其中很小的一部分.整个项目由3种不同的算法组成,用于数据压缩.

我只想弄清楚什么是最节省内存和时间的排序算法用于Burrows Wheeler Transformation中的后缀排序?编码需要尽可能高效.

对于较小的数组,排序实际上并不会真正起作用,但是当我们压缩的文本文件变得越来越大时,使用低效排序算法所消耗的时间实际上会破坏时间和内存效率.

任何帮助将不胜感激,提前感谢!

编辑

我们用Java编写代码,只是意识到我从未提及过.

解决方法

许多基于BWT的实用压缩工具都基于DivSufSort和MSufSort.但是它们的O(n ^ 2)性能最差,你必须在排序前对数据使用一些预处理方法.

理论上,为了获得最佳时间/空间成本,请尝试使用sa-is和sa-ds.

如果您正在尝试自己编写后缀排序算法,我建议您从快速简单的QSufSort开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读