20、红黑(R、B)树:节点删除后的平衡性调整(二)

你好,我是王健伟。 这节课我们接着讨论删除黑色叶子节点导致的红黑树平衡性调整问题。现在还有一种情况我们没有讨论到,那就是待删节点的父节点为黑色,兄弟节点也为黑色且兄弟节点不待任何孩子节点的情况。 随着我的讲解,你也可以回想上节课的思考题,看一看你想到...

19、红黑(R、B)树:节点删除后的平衡性调整(一)

你好,我是王健伟。 上次我和你分享了红黑树的概念和基础实现代码,以及向红黑树插入新节点后进行平衡性调整的方法。这次我将继续和你分享另一个重要的话题——从红黑树中删除一个节点后的平衡性调整。 红黑树的删除操作比较繁琐和复杂,所以我建议,如果能不实际删除...

18、红黑(R、B)树:节点插入后的平衡性调整

你好,我是王健伟。 前面我们提到过,向红黑树中插入新的节点会导致红黑树失去平衡,所以,插入新节点后,必须对该红黑树进行平衡性调整。红黑树的平衡性调整,是通过节点变色或者旋转来实现的。 我们先来想想,红黑树插入节点操作一般分为几种情况呢? 首先,对于没...

17、红黑(R、B)树:和平衡二叉树有什么不同

你好,我是王健伟。 上次我和你分享了“平衡二叉树”这个话题,引出了“平衡性调整”的概念。主要目的是让这棵二叉树左右看起来比较“平衡”,不出现左子树很高、右子树很矮,或者左子树很矮、右子树很高的情形。这样,在进行节点的查找、插入、删除等操作时效率会比较...

16、平衡二叉树(AVL):节点删除后的平衡性调整

你好,我是王健伟。 上节课我们了解了什么是平衡二叉树,也详细讲解了插入一个新的节点后如何保持该树仍旧是一颗平衡二叉树。本节课我将继续与你分享在删除一个平衡二叉树中的节点后如何保持平衡的话题。 平衡二叉树删除某个节点的操作与二叉查找树删除某个节点的操作...

1678910243