一棵既有内存效率又有磁盘效率的树?space?

A tree that is both memory efficient and disk-space efficient?

我最近开始详细阅读数据结构。我遇到了树。 AVL 树的设计考虑了快速内存访问,B 树的设计考虑了高效的磁盘存储。假设我想设计一棵内存效率和磁盘存储效率都很高的树,我应该使用什么树?有什么办法可以将 AVL 树和 B 树结合起来吗?有没有其他树可以做到这两点?这在现实世界中是否基本上可行?

I want to design a tree which is both memory efficient and disk storage efficient (...) Is there any way I can combine AVL tree and B Tree?

简短的回答是没有,没有,除非你在数据结构领域有突破性的发现。两者在设计时都考虑了特定的优化要求,您无法两全其美。

计算中有一个概念叫做Space–time tradeoff,它可以扩展到其他类型的权衡,比如你感兴趣的。你可以这样想:改进属性 一个已经优化的算法你将不得不恶化另一个(除非你发现一些以前没有人想过的新方法)。

我建议您查看可用的优化 Binary Trees 实现,然后从最适合您需求的实现开始。