【问题标题】:Is there an easy way to remember the rotation methods for red-black trees?有没有一种简单的方法可以记住红黑树的旋转方法?
【发布时间】:2011-03-14 22:14:51
【问题描述】:

有没有一种简单的方法可以记住红黑树的旋转方法?

【问题讨论】:

  • 我认为强迫自己记住它们没有任何意义。如果您经常使用红黑树,那么您最终会牢记它们。如果你不这样做,那为什么要强迫自己记住它们呢?只需在需要时查找它们。另外,我建议调查陷阱。它们非常高效,只有两种轮换类型。
  • 这已被用作面试问题。
  • 继续下一次采访。没有人会再问你了。

标签: algorithm data-structures red-black-tree


【解决方案1】:

没有。没有办法记住!!(嗯,不是真的,但就您如何利用自己的时间而言,这是最合适的答案)。

你知道吗?没有人需要能够背诵旋转的确切机制。 即使是少数需要实现这些的人,也需要记住它们! 查看Java's implementation of TreeMap,它是一棵红黑树,然后搜索“From CLR”。他们基本上是复制粘贴代码,这正是这里的正确做法

【讨论】:

  • 其实有:如果你搜索 2-3-4 tree 和 btree
【解决方案2】:

也许他们正在寻找 2-3-4 树(2 阶 B 树)和红黑树的等价性?

我一直发现 B 树中的插入比红黑树中的插入更容易理解。

在此处查看页面:http://www.eli.sdsu.edu/courses/fall95/cs660/notes/RedBlackTree/RedBlack.html

在任何情况下,您可能都可以在现场推导出所需的旋转,一旦您熟悉它们,这并不难。

【讨论】:

    猜你喜欢
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多