通过2-3树理解红黑树
一、简介 前面的文章我们循序渐进的讲解了 《二叉树》 《二分搜索树》 《AVL-平衡二叉树》 ,从左至右互为基础。尤其是二分搜索树给了我们如何将数据组织成为搜索树的思想,当然二分搜索树存在的天然问题--在极端情况下回退化为链表。所以引出了AVL-平衡二叉树,通过再平衡即LL,LR,RR,RL四个旋转操作维护了一棵平衡的二分搜索树。本章节我们继续梳理一个高阶的树结构即:红黑树。想必大家都知道,红黑树如何维持平衡,如何进行颜色反转让人很难理解,虽然很多博文很多书对红黑树都有讲解,但是想要掌握或者精通红黑树依然让大家望而生畏。本文,我们借鉴《算法-4》对红黑树的分析,从2-3树入手来理解红黑树。至于为什么从2-3树入手去理解红黑树是有原因的,就像达尔文的进化论,任何一个物种都不会是从石头中蹦出来的一样。数据结构的发展同样遵循着生物进化的理论。红黑树正是从2-3树进化来的一种树结构。 后面会持续更新数据结构相关的博文。 数据结构专栏: https://www.cnblogs.com/hello-shf/category/1519192.html git传送门: https://github.com/hello-shf/data-structure.git 二、2-3树 2.1、2-3树的性质 2-3树类似于一棵完美二叉树(满二叉树),不过就是2