了解红黑树的起源,理解红黑树的本质

本文介绍了红黑树的起源,从二叉树、二叉查找树、平衡树开始,逐步讲解AVL树、2-3树、2-3-4树和B树,最终揭示红黑树本质上是一种2-3-4树。文章强调理解红黑树的本质对于掌握其插入、删除、查找等操作的重要性,并预告下文将深入探讨红黑树的操作过程。
摘要由CSDN通过智能技术生成

前言

本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。

你好,我是彤哥。

前面两节,我们一起学习了关于跳表的理论知识,并手写了两种完全不同的实现,我们放一张图来简单地回顾一下:

15

实现跳表的关键之处是在有序链表的基础上加上各层索引,通过这些索引可以做到O(log n)的时间复杂度快速地插入、删除、查找元素。

说起跳表,我们就不得不提另一种非常经典的数据结构——红黑树,红黑树相对于跳表来说,虽然时间复杂度都是O(log n),但是红黑树的使用场景相对更广泛一些,在早期的Linux内核中就一直存在红黑树的实现,也运用在了更高效的多路复用器Epoll中。

所以,红黑树是每一个程序员不得不会的知识点,甚至有些变态的面试官,还会让你手写红黑树的一部分实现,比如左旋、右旋、插入平衡的过程、删除平衡的过程,这些内容非常复杂,靠死记硬背往往很难彻底掌握。

彤哥也是一直在寻找一种红黑树的记忆法,总算让我找到了那么一种还算不错的方式,从红黑树的起源出发,理解红黑树的本质,再从本质出发,彻底掌握不用死记硬背的方法,最后再把它手写出来。

从本节开始,我也将把这种方法传递给你,因此,红黑树的部分,我会分成三个小节来讲解:

  • 从红黑树的起源,到红黑树的本质
  • 从红黑树的本质,找到不用死记硬背的方法
  • 不靠死记硬背,手写红黑树

好了,下面我们就进入第一小节。

红黑树的起源

二叉树

说起树,我们不得不说最有名的树,那就是二叉树,什么是二叉树呢?

二叉树(binary tree),是指树中的每个节点最多只有两个子节点的树。

1

当然,二叉树本身似乎没什么用,我们平时说的二叉树基本上都是指二叉查找树,或者叫有序二叉树、二叉搜索树、二叉排序树。

二叉查找树

二叉查找树(BST,binary search tree),就是在二叉树的基础上增加有序性&

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值