我写了一个Lempel Ziv压缩器和解压缩器。
我正在寻求缩短在字典中搜索短语的时间。我考虑过K-M-P和Boyer-Moore,但我认为适应字典变化的算法会更快。
我一直在阅读二进制搜索树(AVL或splays)大大提高了压缩时间的性能。我无法理解的是如何引导二进制搜索树并插入/删除数据。我实际上并不确定二进制搜索中每个节点的重要性。我正在搜索短语,所以每个角色都会被视为一个节点吗?当新数据进入字典并删除旧数据时,如何以及从搜索树中插入/删除的内容是什么?
二进制搜索树听起来是一个很好的回报,因为它可以适应字典,但我不太确定它是如何使用的。
答案 0 :(得分:1)
this有帮助吗?
答案 1 :(得分:1)
嗯。字符串B树我认为是你想要的,但我还没有多久看过LZ算法。