基本概念 红黑树是一种自平衡的二叉搜索树。树中的每一个结点的颜色不是黑色就是红色。 红黑树可以视为一棵扩充二叉树,用外部结点表示空指针。 二叉树的存储结构是使用二叉链表或者三叉链表来表示的,每个结点都存在指向该节点左右孩子的指针。但是叶子结点是没有孩子结点的,所以将叶子结点中指向孩子节点 ...
二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树 Binary Search Tree ,也称有序二叉树 ordered binary tree ,排序二叉树 sorted binary tree ,是指一棵空树或者具有下列性质的二叉树: 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值 若任意结点的右子树不空,则右子树上 ...
2020-03-10 14:20 0 5096 推荐指数:
基本概念 红黑树是一种自平衡的二叉搜索树。树中的每一个结点的颜色不是黑色就是红色。 红黑树可以视为一棵扩充二叉树,用外部结点表示空指针。 二叉树的存储结构是使用二叉链表或者三叉链表来表示的,每个结点都存在指向该节点左右孩子的指针。但是叶子结点是没有孩子结点的,所以将叶子结点中指向孩子节点 ...
点,是不是查询效率又可以提高了,这就要提到另外一种特殊的二叉树---红黑树(也是一种特殊的二叉查找树)。J ...
前言 11.1新的一月加油!这个购物狂欢的季节,一看,已囊中羞涩!赶紧来恶补一下红黑树和2-3树吧!红黑树真的算是大名鼎鼎了吧?即使你不了解它,但一定听过吧?下面跟随我来揭开神秘的面纱吧! 一、2-3树 1、抢了红黑树的光环? 今天的主角是红黑树,是无疑的,主角光环 ...
在分析Java集合类源码的时候涉及到了树的知识,发现树结构要比数组和链表等要复杂的多,所以巩固和补充一下自己这块的知识。 树(Tree)可以有几种定义。其中一种方式是递归方式。 树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件 ...
1.前文回顾 上一篇随笔写到了红黑树的实现及其各种功能的实现,本文将讲红黑树的删除。 上一篇随笔提到了二叉搜索树的删除功能在红黑树中虽然可以用,但会破坏红黑树的结构。 其实红黑树的删除功能是在二叉搜索树的删除功能上加上了重构结构的功能。因此,如果不熟悉二叉搜索树的删除功能和红黑树 ...
前言 11.1新的一月加油!这个购物狂欢的季节,一看,已囊中羞涩!赶紧来恶补一下红黑树和2-3树吧!红黑树真的算是大名鼎鼎了吧?即使你不了解它,但一定听过吧?下面跟随我来揭开神秘的面纱吧! 一、2-3树 1、抢了红黑树的光环? 今天的主角是红黑树,是无疑的,主角光环 ...
转载自https://www.cnblogs.com/liyuan989/p/4071942.html 感觉写的非常好 前言 红黑树是特殊二叉查找树的一种,一棵红黑树有以下5种性质: 根节点为黑色。 每个节点不是黑色就是红色。 每个红色节点的两个儿子一定是黑色。 所有 ...
红黑树及其插入与删除操作[未完待续] 红黑树的定义 红黑树是一种自平衡二叉查找树。它相比于平衡二叉树的优点在于,其的特性可以让其在任何条件下保持树的高度小于等于log n,所以其即使在最坏条件下对于增删查改这样的基本操作也能保持O(log n)的时间复杂度;另外,相比于严格平衡的AVL树 ...