【问题标题】:A tree that is both memory efficient and disk-space efficient?一棵既节省内存又节省磁盘空间的树?
【发布时间】:2020-04-12 14:07:51
【问题描述】:

我最近开始详细阅读数据结构。我遇到了树。 AVL 树的设计考虑了快速内存访问,而 B 树的设计考虑了高效的磁盘存储。假设我想设计一棵既节省内存又节省磁盘存储的树,我应该使用什么树?有什么办法可以结合 AVL 树和 B 树吗?有没有其他的树可以两者兼得?这在现实世界的场景中基本上是可能的吗?

【问题讨论】:

    标签: data-structures tree binary-tree avl-tree b-tree


    【解决方案1】:

    我想设计一个既节省内存又节省磁盘存储的树(...)有什么方法可以结合 AVL 树和 B 树?

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 2015-11-10
      • 2016-06-22
      • 1970-01-01
      • 2015-06-10
      相关资源
      最近更新 更多