0

最近,我正在学习左瘦红黑树。我把这个红来帮助我学习。但是,我无法理解删除操作中代码的含义,它们是:

if (isRed(h.left))h = rotateRight(h);

我只是找不到一个很好的例子来帮助我使用这段代码。

任何人都可以帮我解释为什么代码应该在那里(有一个小例子更好)?

4

1 回答 1

0

PDF 的第 7 页包含完整的功能。基本上它在做什么,如果线是“红色”(意味着它被添加以强制树成为 LLRBT),然后将左子节点旋转到它的位置。

    A
   / \
  B   C

如果我要删除 A,我会将 B 旋转到它的位置:

    B
     \
      C
于 2013-08-29T13:39:24.903 回答