当前位置:首页 > 经验 >

红黑树二叉树的区别(红黑树和平衡二叉树区别)

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

很早之前就想写一篇关于红黑树的文章,但是由于担心自己理解的不透彻,就一直不敢下笔。于是在重新看了很多篇文章和资料之后,决定彻彻底底的把红黑树搞清楚。也希望让你在面试中游刃有余。OK,废话不多说,开始今天的文章。

整篇文章的思路是这样的,红黑树其实就是一种数据结构,设计它的目的就是为了高效地进行增删改查,所以我们文章的顺序也会按照这个思路来进行。我们先从二叉查找树逐渐引入到红黑树,然后再详细的讲解。你如果看过其他文章想必也一定清楚,红黑树比较麻烦,希望你有点耐心,认真理解每一张图再往下分析。

一、二叉查找树

在正式开始了解红黑树之前呢,我们先来看一下二叉查找树的概念,从浅入深,希望你不要着急,下面就是是一颗二叉查找树:

红黑树二叉树的区别,红黑树和平衡二叉树区别(1)

从这张图我们会发现如下的规律:

(1)左子树上所有节点的值均小于或等于它的根结点的值。

(2)右子树上所有节点的值均大于或等于它的根结点的值。

如果我们想要查找一个数字11,过程是怎么样的呢?

红黑树二叉树的区别,红黑树和平衡二叉树区别(2)

上面的过程已经很清晰了,在查找的时候,先与根节点比较,比根节点大则从右子树查找,比根节点小则从左子树查找,然后重复上面的过程,一直到找到我们需要的元素为止。

这个过程是查找操作,对于添加和删除呢?其实原理也是一样的,我们第一步就是找到我们需要插入的位置,然后把元素插入即可。这样看二叉查找树挺好的呀?别着急我们继续往下看这种情况。

如果我们在刚刚开始的时候还是以9为根节点,然后依次插入13、15、17、19。我们看会发生什么情况:

红黑树二叉树的区别,红黑树和平衡二叉树区别(3)

好好地一棵树变成了这个鬼样子,成了“一边倒”了。这时候再去查找19呢?

红黑树二叉树的区别,红黑树和平衡二叉树区别(4)

栏目热文

红黑树的高度和深度区别(红黑树的原理动态图)

红黑树的高度和深度区别(红黑树的原理动态图)

专注于Java领域优质技术,欢迎关注作者:JasonGaoH之前在公司组内分享了红黑树的工作原理,今天把它整理下发出来,...

2022-11-14 14:34:32查看全文 >>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

红黑树与平衡二叉树的区别(红黑树平衡树对比)

红黑树与平衡二叉树的区别(红黑树平衡树对比)

红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。简单说就是可用于二分查找的(二叉查找树),且高度是平衡的(...

2022-11-14 14:54:56查看全文 >>

红黑树一定是平衡二叉树吗(红黑树是一个平衡的二叉排序树)

红黑树一定是平衡二叉树吗(红黑树是一个平衡的二叉排序树)

二叉搜索树的局限性 上一节较为详细的介绍了C语言中的二叉搜索树,提到数据采取二叉搜索树的结构存储,可以获得不错的搜索性能...

2022-11-14 14:51:45查看全文 >>

有序树和二叉树的区别(二叉判定树和二叉排序树的区别)

有序树和二叉树的区别(二叉判定树和二叉排序树的区别)

树这些基本的东西必须了解一下!数据结构之树的一些事儿树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据...

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

马拉松赛前一个月怎么训练计划(马拉松赛前一周怎么安排)

马拉松赛前一个月怎么训练计划(马拉松赛前一周怎么安排)

2019宜昌国际马拉松暨全国马拉松锦标赛(宜昌站),将于10月27日上午7:30在湖北宜昌市鸣枪。宜昌国际马拉松创办于2...

2022-11-14 14:25:32查看全文 >>

马拉松赛前两个月训练计划(马拉松赛前一月训练表)

马拉松赛前两个月训练计划(马拉松赛前一月训练表)

想要跑得好,科学备战不能少!撰文/柳条编辑/柳条出品/马孔多跑步研究室下个月11月,马拉松比赛将进入一个高峰期,数场上万...

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

文档排行