美文网首页Java开发周更
红黑树原理备忘

红黑树原理备忘

作者: 昙花未现 | 来源:发表于2018-09-27 22:06 被阅读1次

红黑树是由结点组成的数据结构,是一棵自平衡二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是红色或者黑色,通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出两倍,因而近似于平衡的。

树中每个结点包含5个属性:color、key、left、right和p。

红黑树的规则是从根开始,任何节点的左分支中的任何元素总是小于节点本身中的元素。右边的元素总是更大。

红黑树保证了搜索,获取,放置和删除等基本操作采用对数时间O(log n)。

自我平衡是关键。对于每次插入和删除,任何边缘上的树的最大高度保持为O(log n) ,即树连续地平衡自身。

红黑树的五条性质:

  1. 每个结点或是红色的,或是黑色的。
  2. 根节点时黑色的。
  3. 每个叶结点是黑色的。
  4. 如果一个结点是红色的,则它的两个子结点都是黑色的。
  5. 对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。

一颗具有n个内部结点的红黑树的高度至多为2lg(n+1)。

相关文章

  • 红黑树原理备忘

    红黑树是由结点组成的数据结构,是一棵自平衡二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是红色或...

  • java8中hashmap源码分析,put()方法详细分析

    一.源码大纲 1.了解红黑树原理(可翻看上一个文章,[红黑树原理分析](数据结构红黑树添加、修改原理分析 - 简书...

  • 数据结构红黑树添加、修改原理分析

    源码分析大纲 数据结构解析 红黑树试下原理刨析 数据结构解析 1.红黑树 1.1 红黑树概念 红黑树(Red Bl...

  • 红黑树笔记

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

  • 红黑树的原理详解及golang实现

    # 红黑树原理详解及golang实现

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

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

  • 红黑树原理

    1. 简介   先来看下算法导论对R-B Tree的介绍:  红黑树,一种二叉查找树,但在每个结点上增加一个存储位...

  • 红黑树原理

    在理解红黑树之前,先看一些二叉查找树 二叉查找树特性 左字数上所有的节点的值都小于或等于他的根节点上的值 右子树上...

  • 红黑树原理

    红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实...

  • 红黑树原理

    红黑树原理 学习红黑树之前,你首先要有查询二叉树的知识储备,和平衡二叉树(AVL)的知识储备。 红黑树是基于AVL...

网友评论

    本文标题:红黑树原理备忘

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