一个既节省内存又节省磁盘空间的树



我最近开始详细阅读有关数据结构的内容。我碰到了树。AVL树的设计考虑了快速存储器访问,而B树的设计则考虑了高效磁盘存储。假设我想设计一个既有内存效率又有磁盘存储效率的树,我应该使用什么树?有什么方法可以将AVL树和B树结合起来吗?还有其他树可以同时做到这两个吗?在现实世界中,这从根本上讲是可能的吗?

我想设计一个既有内存效率又有磁盘存储效率的树(…(有什么方法可以将AVL树和B树结合起来吗?

简短的答案是否定的,没有,除非您在数据结构领域取得突破性发现。它们都是根据特定的优化要求设计的,不可能两全其美。

计算中有一个概念叫做时空权衡,它可以扩展到其他类型的权衡,比如你感兴趣的权衡。你可以这样想:为了改善已经优化的算法的一个特性,你必须恶化另一个特性(除非你发现了一些以前没人想过的新方法(。

我建议您查看优化的二进制树的可用实现,并从最适合您需求的实现开始。

最新更新