美文网首页
红黑树参考

红黑树参考

作者: liuzx32 | 来源:发表于2019-01-04 12:40 被阅读5次

红黑树:一种弱平衡二叉查找树/二叉搜索树

一种二叉查找树,但在每个节点增加一个存储位表示节点的颜色,可以是red或black。通过对任何一条从根到叶子的路径上各个节点着色的方式的限制,红黑树确保没有一条路径会比其它路径长出两倍。它是一种弱平衡二叉树(由于是若平衡,可以推出,相同的节点情况下,AVL树的高度低于红黑树),相对于要求严格的AVL树来说,它的旋转次数变少,所以对于搜索、插入、删除操作多的情况下,我们就用红黑树。

红黑树的性质

1、每个节点非红即黑;
2、根节点是黑的;
3、每个叶节点(叶节点即树尾端NULL指针或NULL节点)都是黑的;
4、如果一个节点是红的,那么它的两儿子都是黑的;
5、对于任意节点而言,其到叶子点树NULL指针的每条路径都包含相同数目的黑节点;
6、每条路径都包含相同的黑节点;

红黑树的应用

1、广泛用于C++的STL中,Map和Set都是用红黑树实现的;
2、著名的Linux进程调度Completely Fair Scheduler,用红黑树管理进程控制块,进程的虚拟内存区域都存储在一颗红黑树上,每个虚拟地址区域都对应红黑树的一个节点,左指针指向相邻的地址虚拟存储区域,右指针指向相邻的高地址虚拟地址空间;
3、IO多路复用epoll的实现采用红黑树组织管理sockfd,以支持快速的增删改查;
4、Nginx中用红黑树管理timer,因为红黑树是有序的,可以很快的得到距离当前最小的定时器;
5、Java中TreeMap的实现基于红黑树结构;

#

相关文章

  • 数据结构 - 红黑树

    更多数据结构内容,请参考:数据结构 - 概要 简介 红黑树介绍请参考: 漫画:什么是红黑树? 面试旧敌之红黑树 红...

  • 红黑树参考

    红黑树:一种弱平衡二叉查找树/二叉搜索树 一种二叉查找树,但在每个节点增加一个存储位表示节点的颜色,可以是red或...

  • 算法+红黑树

    参考下面博客,侵删 目录1 红黑树的介绍2 红黑树的应用 3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(...

  • 红黑树笔记

    红黑树:R-B Tree [toc]参考:红黑树(一)之 原理和算法详细介绍红黑树(五)之 Java的实现 1 简...

  • 数据结构学习_02红黑树平衡操作

    参考文章 : 红黑树原理解析以及Java实现 红黑树(五)之 Java的实现 废话不多说, 直接开始分析 一、红黑...

  • 树、二叉树、二叉查找树、AVL树、红黑树、B-树、B+树、tri

    AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中? 参考知乎知友的回答AVL树,红黑树,B树,...

  • 红黑树

    参考文章:五分钟搞懂什么事红黑树(全程图解)) 在JDK 1.8之后,HashMap中引入了红黑树,当Entry链...

  • 数据结构—树—红黑树

    红黑树概述 红黑树的插入 红黑树的删除

  • 源码阅读 - HashMap

    本文涉及到红黑树的部分参考二叉树 - 红黑树 0. HashMap是什么 一种增删改查操作(不考虑哈希冲突)能达到...

  • TreeMap

    需要先了解红黑树,这是之前分析红黑树的文章。之前在分析红黑树时,我认为红黑树=二叉查找树+红黑平衡,关于二叉查找树...

网友评论

      本文标题:红黑树参考

      本文链接:https://www.haomeiwen.com/subject/zmphrqtx.html