【问题标题】:Is a Zig-zig rotation in a Splay Tree different than two right or two left rotations?Splay Tree 中的 Zig-zig 旋转与两个右或两个左旋转不同吗?
【发布时间】:2016-03-09 03:46:29
【问题描述】:

我了解 Zig-Zag 旋转基本上是 AVL 双旋转。 Zig-zig 旋转与两个左旋转或两个右旋转不同吗?我认为他们不是,但如果我只为下图这样的东西做 2 次正确的旋转,我会得到一个错误的答案。

如果确实不是同一件事,那么假设之字形旋转是一种特殊类型的旋转是否正确?

【问题讨论】:

    标签: data-structures tree binary-tree binary-search-tree


    【解决方案1】:

    不同之处在于您用于执行旋转的节点以及执行这些旋转的特定顺序。让我们将我们用作旋转参考的节点称为基本节点,因此在 zig zig 情况下,我们有 2 个基本节点,第一个是示例中 x 的父节点,即 p,我们首先做一个沿着这个节点向右旋转,然后我们沿着节点x 向右旋转。在您提到的情况下,将在相同的节点上执行 2 次右旋转。因此,为了得出结论,它们在我们使用哪些节点进行旋转以及我们使用它们的顺序方面是不同的,zig zig 首先对父节点进行向右或向左旋转,然后再对节点进行向右或向左旋转。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多