删除 因为根据BST中的规则,选择该结点的左子树中最大值和右子树中最小值替代掉原本要删除的点的值,再将改点删掉即可,所以这里只会讨论那个删掉的点。 分为以下情况: 删除结点的左右子结点均为空,则将其直接删除即可; 删除结点的左右子结点其中一方为空,则将存在的那一方的子结点替代掉删除 ...
模板图 二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树 Binary Search Tree ,也称有序二叉树 ordered binary tree ,排序二叉树 sorted binary tree ,是指一棵空树或者具有下列性质的二叉树: 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值 若任意结点的右子树不空,则 ...
2020-01-08 11:27 0 2374 推荐指数:
删除 因为根据BST中的规则,选择该结点的左子树中最大值和右子树中最小值替代掉原本要删除的点的值,再将改点删掉即可,所以这里只会讨论那个删掉的点。 分为以下情况: 删除结点的左右子结点均为空,则将其直接删除即可; 删除结点的左右子结点其中一方为空,则将存在的那一方的子结点替代掉删除 ...
1.前文回顾 上一篇随笔写到了红黑树的实现及其各种功能的实现,本文将讲红黑树的删除。 上一篇随笔提到了二叉搜索树的删除功能在红黑树中虽然可以用,但会破坏红黑树的结构。 其实红黑树的删除功能是在二叉搜索树的删除功能上加上了重构结构的功能。因此,如果不熟悉二叉搜索树的删除功能和红黑树 ...
一、概念 R-B Tree,全称是Red-Black Tree又称红黑树,它是一种特殊的二叉查找树,红黑树的每个节点上都有存储位表示节点的颜色,可以是红或黑。 二、特性 1、每个节点或者是红色,或者是黑色 2、根节点是黑色的 3、每个叶子节点(NIL)是黑色的。注意:这里的叶子节点 ...
查阅了很多的资料,最终把红黑树的删除操作弄明白。为方便日后温习,也为那些正想弄明白但又苦苦明白不了该操作详细原理的同学查阅,特将其当笔记记录下来。下面内容是个人所理解的红黑树的删除操作,如果有不对的地方,欢迎各路大神指正。 红黑树的删除操作 1:节点命名约定 D表示要被删除 ...
红黑树之删除节点 上一篇文章中讲了如何向红黑树中添加节点,也顺便创建了一棵红黑树。今天写写怎样从红黑树中删除节点。 相比于添加节点,删除节点要复杂的多。不过我们慢慢梳理,还是能够弄明白的。 回顾一下红黑树的性质 红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。在二叉查找树强制 ...
若被删除的结点有两个非叶子结点,那么可以转换为删除一个“替代点”的问题,该替代点最多只有一个非叶子孩子结点。可以通过前驱或者后继(都最多有一个非叶子孩子结点)来替代最初要被删除的结点,所以下面只关注只有一个非叶子孩子结点的问题,一旦我们解决了这个问题,那么解决方法将同样适用于两种情形:1、原本 ...
子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替 ...
前言 最近断断续续花了一个礼拜的时间去看红黑树算法,关于此算法还是比较难,因为涉及到诸多场景要考虑,同时接下来我们要讲解的HashMap、TreeMap等原理都涉及到红黑树算法,所以我们不得不了解其原理,关于一些基础知识这里不再讲解,本文参考博文:《https://www.cnblogs.com ...