前言
友情建议 文章非常长,建议加入喜欢或收藏分多次看
select
动画模拟
目录
1. 树的简介
2. 为什么会有红黑树?
3. 红黑树的5大性质
4. 左旋和右旋
5. 红黑树的插入
6. 红黑树的遍历
7. 红黑树的删除
1. 树的简介
计算机科学中的树
在计算机科学中,树(英语:tree)是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:
每个节点都只有有限个子节点或无子节点;
没有父节点的节点称为根节点;
每一个非根节点有且只有一个父节点;
除了根节点外,每个子节点可以分为多个不相交的子树;
树里面没有环路(cycle)
一棵树
为什么需要树
为什么要用到树呢?因为它通常结合了另外两种数据结构的优点: 一种是有序数组,另一种是链表。在树中查找数据项的速度和在有序数组中查找一样快, 并且插入数据项和删除数据项的速度也和链表一样。下面,我们先来稍微思考一下这些话题,然后 再深入地研究树的细节。
2. 为什么会有红黑树?
树的种类
树的种类有很多种,二叉树,AVL树,霍夫曼树,B树....,我们应用最多的是二叉树,但是二叉树有一种极端的情况会退化为链表 如图: