当前位置:首页 > 经验 >

通俗讲红黑二叉树原理(红黑树为什么是平衡二叉树)

来源:原点资讯(www.yd166.com)时间:2022-11-14 14:42:53作者:YD166手机阅读>>

【51CTO.com原创稿件】 学过数据结构都知道二叉树的概念,而又有多种比较常见的二叉树类型,比如完全二叉树、满二叉树、二叉搜索树、均衡二叉树、完美二叉树等。

通俗讲红黑二叉树原理,红黑树为什么是平衡二叉树(1)

图片来自 Pexels

今天我们要说的红黑树就是就是一棵非严格均衡的二叉树,均衡二叉树又是在二叉搜索树的基础上增加了自动维持平衡的性质,插入、搜索、删除的效率都比较高。红黑树也是实现 TreeMap 存储结构的基石。

二叉搜索树

二叉搜索树又叫二叉查找树、二叉排序树,我们先看一下典型的二叉搜索树,这样的二叉树有何规则特点呢?

二叉搜索树有如下几个特点:

  • 节点的左子树小于节点本身
  • 节点的右子树大于节点本身
  • 左右子树同样为二叉搜索树

下图就是一棵典型的二叉搜索树:

通俗讲红黑二叉树原理,红黑树为什么是平衡二叉树(2)

二叉搜索树是均衡二叉树的基础,我们看一下它的搜索步骤如何。我们要从二叉树中找到值为 58 的节点。

第一步:首先查找到根节点,值为 60 的节点。

通俗讲红黑二叉树原理,红黑树为什么是平衡二叉树(3)

第二步:比较我们要找的值 58 与该节点的大小。

如果等于,那么恭喜,已经找到;如果小于,继续找左子树;如果大于,那么找右子树。

很明显 58<60,因此我们找到左子树的节点 56,此时我们已经定位到了节点 56。

通俗讲红黑二叉树原理,红黑树为什么是平衡二叉树(4)

栏目热文

红黑树和平衡二叉树区别(详解什么是平衡二叉树)

红黑树和平衡二叉树区别(详解什么是平衡二叉树)

一,AVL树(平衡二叉树)(1)简介AVL树是带有平衡条件的二叉查找树,一般是用平衡因子差值判断是否平衡并通过旋转来实现...

2022-11-14 14:23:26查看全文 >>

红黑树结构优缺点(红黑树解决什么问题)

红黑树结构优缺点(红黑树解决什么问题)

1. 红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过...

2022-11-14 14:35:35查看全文 >>

红黑树解决了什么问题(红黑树解决冲突)

红黑树解决了什么问题(红黑树解决冲突)

来源公众号:苦逼的码农作者:帅地红黑树算是很难的一种数据结构吧,一般很少考察插入、删除等具体操作步骤,如果遇到要你手写红...

2022-11-14 14:11:08查看全文 >>

二叉树对比红黑树(二叉树数据图解)

二叉树对比红黑树(二叉树数据图解)

在讲解HBase的LSM合并树之前,我们需要来了解一些常用的数据结构知识。跳表链表上图是一个有序链表,我们要检索一个数据...

2022-11-14 14:23:35查看全文 >>

红黑树和b+树的区别(b树和b+树的优缺点)

红黑树和b+树的区别(b树和b+树的优缺点)

二分查找算法二分查找又称折半查找,它是一种效率较高的查找方法。二分查找要求:(1)必须采用顺序存储结构 (2)必须按关键...

2022-11-14 14:11:36查看全文 >>

为什么用红黑树而不是二叉树(红黑树和二叉树优缺点)

为什么用红黑树而不是二叉树(红黑树和二叉树优缺点)

上两节,我们依次讲了树、二叉树、二叉查找树。二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作的时...

2022-11-14 14:26:38查看全文 >>

二叉树和红黑树(二叉树和树的关系)

二叉树和红黑树(二叉树和树的关系)

红黑树在工程中的使用,红黑树是平衡树的一种。1. 红黑树顺序的功能2. 快速查找的功能1.二叉树插入1. 如果比当前根节...

2022-11-14 14:17:23查看全文 >>

红黑树为什么叫平衡二叉树(详解什么是平衡二叉树)

红黑树为什么叫平衡二叉树(详解什么是平衡二叉树)

前言面试过程中,多多少少会问一点数据结构(二叉树)的问题,今天我们来复习一下二叉树的相关问题,文末总结。1. 二叉树的由...

2022-11-14 14:52:59查看全文 >>

红黑树和平衡二叉树的优缺点(红黑树为什么是平衡二叉树)

红黑树和平衡二叉树的优缺点(红黑树为什么是平衡二叉树)

1 引言预防针:红黑树本来就是基本算法中的难点,所以看此文时建议先有点预备心理或知识铺垫,没接触过RBT而直接看此文的话...

2022-11-14 14:09:12查看全文 >>

红黑树与b+树区别(红黑树解决什么问题)

红黑树与b+树区别(红黑树解决什么问题)

树的定义树是包含n(n>1)个结点,n-1条边的有穷集,其中:(1)每个元素称为结点;(2)有一个特定的结点称为根...

2022-11-14 14:55:20查看全文 >>

文档排行