文章目录

  • 一:红黑树基本概念
    • (1)什么是红黑树
    • (2)红黑树的性质
    • (3)为什么要给空结点(NIL)上色?
    • (4)为什么最长路径一定不超过最短路径的2倍?
    • (5)红黑树效率
  • 二:红黑树的实现
    • (1)红黑树的结点
    • (2)插入
    • (3)判断是否为一棵红黑树

一:红黑树基本概念

(1)什么是红黑树

红黑树在二叉搜索树基础上,增加了一个域来标识结点的颜色,可以是红色和黑色。

通过对任何一条从根节点到叶子结点的简单路径上的各个结点的颜色的约束,红黑树可以确保没有一条路径能比其他路径长出2倍,也就是最长路径比最短路径的长度最长不超过2倍

(王道408考研数据结构)第五章树-第四节4:红黑树基本概念及操作相关推荐

  1. (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转

    文章目录 一:AVL树基本概念 二:AVL树实现原理 (1)构建AVL树 (2)构建演示 (3)旋转方法 A:右单旋转调整(插入到较高左子树左侧) B:左单旋转调整(插入到较高右子树右侧) C:先左后 ...

  2. (王道408考研数据结构)第五章树-第四节3:哈夫曼树基本概念、构造和哈夫曼编码

    文章目录 一:哈夫曼树基本概念 (1)相关术语 (2)哈夫曼树定义 二:哈夫曼树的构造 三:哈夫曼树特点 四:哈夫曼树典型应用-哈夫曼编码 在计算机中, 文件压缩是一项非常重要的技术,它除了可以减少文 ...

  3. (王道408考研数据结构)第五章树-第四节1:二叉树排序树(BST)及其操作

    文章目录 一:二叉排序树基本概念 二:二叉排序树查找 二:二叉排序树插入/构建 四:二叉排序树删除 (1)如果左子树为空 (2)如果右子树为空 (3)如果左右子树都不为空树 代码 测试 一:二叉排序树 ...

  4. (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序)

    文章目录 一:二叉树遍历概述 二:二叉树深度优先遍历 (1)先序遍历-根左右(NLR) (2)中序遍历-左根右(LNR) (3)后序遍历-左右根(LRN) 总结:三种遍历方式动图演示 三:二叉树的层序 ...

  5. (王道408考研数据结构)第五章树-第三节4:树与二叉树的转换

    文章目录 一:树.二叉树和森林的转换 (1)树转化为二叉树 (2)森林转化为二叉树 (3)二叉树转化为树 (4)二叉树转化为森林 二:树与森林的遍历 (1)树的遍历 (2)森林的遍历 一:树.二叉树和 ...

  6. (王道408考研数据结构)第五章树-第三节2:二叉树构造和重建

    文章目录 一:根据遍历序列构造二叉树 (1)由前序遍历和中序遍历构造二叉树 (2)由后序遍历和中序遍历构造二叉树 (3)由层次遍历和中序遍历构造二叉树 二:重建二叉树 一:根据遍历序列构造二叉树 (1 ...

  7. (王道408考研数据结构)第五章树-第一节:树的定义、基本用语和常考性质

    文章目录 一:树基本概念 (1)树的定义 (2)结点分类 (3)结点关系(相关术语) 二:树的常考性质 一:树基本概念 (1)树的定义 树(Tree):这是一种非线性结构.是 n n n(

  8. (王道408考研数据结构)第五章树-第三节3:线索二叉树

    相较于链表,二叉树的递归结构为其操作带来了一定的便利.如下二叉树的中序遍历结果为 D − G − B − E − A − F − C D-G-B-E-A-F-C D−

  9. (王道408考研数据结构)第六章图-第四节2:最小生成树之克鲁斯卡尔算法(思想、代码、演示、答题规范)

    文章目录 一:克鲁斯卡尔(Kruskal)算法思想 二:克鲁斯卡尔(Kruskal)算法代码实现 三:克鲁斯卡尔(Kruskal)算法视频演示 四:克鲁斯卡尔(Kruskal)算法动画演示 五:克鲁斯 ...

最新文章

  1. Java基础 - 面向对象 - 构造方法
  2. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
  3. ASP.NETSpring.NETNHibernate最佳实践(三)——第2章环境准备
  4. mas714 笔记:undecidability
  5. Facebook POP 使用指南
  6. 学python怎么教_学神IT教你Python应该怎么学
  7. ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)
  8. linux查看进程占用pcu,Linux运维:如何使用ss代替netstat命令
  9. 看完这篇文章保你面试稳操胜券——Vue篇
  10. Java JDK与JRE
  11. FRR BGP 协议分析 3 --- FSM 状态机
  12. 如何自己搭建测试环境
  13. 中文技术文档写作规范(汇总整理版)
  14. html5如何引用百度地图api,WebApp如何调用百度地图API
  15. 快进php,【插件推荐】视频速度控制器,网页视频加速/减速播放
  16. c语言小数如何转换成百分数,小数怎么转换成百分数
  17. Python ctypes 调用API函数模拟键盘鼠标事件
  18. win11系统开机后没有输入法——解决方法亲测有效
  19. 什么是Java序列化?
  20. 树莓派拓展模拟量采集(AD)功能

热门文章

  1. 推荐 6 个不错的JavaScript动画库
  2. 经典面试题(50):以下代码将输出的结果是什么?
  3. 经典面试题(37):以下代码将输出的结果是什么?
  4. 通俗易懂,先来认识一下Vuex
  5. 生信人一口气搞定SCI作图与数据处理的技巧,有这一个就妥了!
  6. 最后一周 | 微生物组-扩增子16S分析第9期(报名直播课免费参加线下2020.8)
  7. KeyShot 10最新版发布 支持big sur KeyShot 10 Pro for Mac新功能
  8. ffmpeg播放器 android,Android使用FFmpeg(六)--ffmpeg实现音视频同步播放
  9. 如何把笔记本变成显示器_笔记本电脑如何连接使用今声优盒
  10. CAN总线技术 | 数据链路层02 - 帧结构