【问题标题】:what is the difference between WAVL (weak AVL) and Red Black Tree?WAVL(弱 AVL)和红黑树有什么区别?
【发布时间】:2017-08-20 04:15:47
【问题描述】:

WAVL(弱 AVL)和红黑树有什么区别? 在 RB 上使用 WAVL 是否有特定原因?

【问题讨论】:

  • 嗨,欢迎来到 Stack Overflow。请注意,对这个问题的回答可能会导致不完全基于事实的答案,或者由于个人偏好而导致的有偏见的答案。可能有不同的用例,其中每个选项都可以更好地服务于给定目的。要获得有关该问题的答案,请考虑在问题中添加更多细节,说明您希望如何使用它以及为什么您认为每个选项都满足或不满足您的需求。我希望你能找到适合你的选择:)

标签: binary-search-tree avl-tree red-black-tree


【解决方案1】:

WAVL 树试图结合 AVL 树和红黑树的最佳特性。仅插入 WAVL 树将构建与 AVL 树相同的树 - 比红黑树更严格平衡的树,因此可以预期 WAVL 树在红黑树变得更加不平衡的情况下表现更好。 WAVL 中的删除比 AVL 树中的删除稍微简单,因为 WAVL 删除仅执行 1 或 2 次旋转并停止而不是可能一直到根。

【讨论】:

  • 这说起来很简单,但没有什么可以解释网络上的 WAVL 可以帮助我们验证其算法的真相。
  • 我认为我们可以在网络上找到您需要的有关 WAVL 树的所有信息。你想验证什么真相?关于它们的原始论文涵盖了所有细节,其性能类似于 Ben Pfaff 2004 年论文中介绍的 AVL 树(AVL 比红黑快 20%)。
  • 谢谢。我很想阅读详细解释所有规则的原始论文。您还提到 AVL 比红黑树快 20%。这对我来说听起来很奇怪,因为有许多变量可能会影响性能,例如使用递归或迭代、生成新节点的方式(是否从银行)、你做什么:读取、插入、删除以及何时。两种实现是否共享相同的优化。如果您有任何参考,我会很高兴在您的答案中包含参考(链接)。似乎无法访问???
  • 描述 WAVL 树的论文的标题是“Rank Balanced Trees” 它在这里:sidsen.azurewebsites.net/Ben Pfaff 的论文在这里:benpfaff.org/papers/libavl.pdf
猜你喜欢
  • 2013-04-21
  • 2013-05-08
  • 2012-11-21
  • 2012-11-30
  • 2012-11-22
  • 2011-05-08
  • 2011-08-29
  • 2016-03-18
  • 2015-03-06
相关资源
最近更新 更多