热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

全网最详细的红黑树的基本性质详解及原因和时间复杂度解析

红黑树的基本性质节点要么是红色,要么是黑色。根节点是黑色每一个叶子节点(最后的空节点)是黑色的每个红节点的两个孩子节点都是黑的从任意节点到叶子节点,结

红黑树的基本性质


  1. 节点要么是红色,要么是黑色。
  2. 根节点是黑色
  3. 每一个叶子节点(最后的空节点) 是黑色的
  4. 每个红节点的两个孩子节点都是黑的
  5. 从任意节点到叶子节点 ,结果的黑色节点是一样多的
    在这里插入图片描述

根节点为什么是黑色?
根据前个文章,红黑树是由2-3树衍生而来的,根据图示,根节点只能是黑色。
在这里插入图片描述

为什么每一个叶子节点(最后的空节点) 是黑色的?
这个相当于一个定义

为什么从任意节点到叶子节点,结果的黑色节点是一样多的呢?

因为2-3树是完全平衡的二叉树,所以深度是一样的,红黑树是由2-3树演变而来,每经过一个黑色节点,都相当于结果一个2-3树的节点,经过红节点的时候,不经过2-3树的节点,所以成立
红黑树是一个保持黑平衡的二叉树。

严格意义上讲,不是平衡二叉树

节点数总数为n,最大高度是2logn,

增删改查级别都是Ologn。

相对于AVL树,查询会慢一点,但是增删改会快很多。


推荐阅读
  • 110. Balanced Binary Tree [Easy] 平衡树/递归
    本文介绍了一道关于平衡树的题目,通过递归和辅助函数来判断一个二叉树是否平衡。辅助函数返回根结点的深度,如果左子树或右子树不是平衡树,则返回-1。主函数根据辅助函数的返回值判断二叉树是否平衡。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 北京景点排行榜 北京最好玩的旅游景点
    2019北京最好玩的旅游景点有哪些?下文为大家整理了2019北京景点排行榜,希望可以帮到您哦!  2019北京景点排行榜:  1、故宫  帝都必打卡的地点之一。  北京故宫是中国明 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • SEEBURGER SAP GTS解决方案:数字化助力企业实现海关流程数字化
    SEEBURGER作为SAP的合作伙伴,在2019 SAP GTS信息交流会上分享了SEEBURGER SAP GTS解决方案的应用案例,介绍了如何利用数字化助力企业实现海关流程数字化。SEEBURGER的集成技术和解决方案支持SAP GTS产品和服务的推广及应用,通过数据通讯和报文格式转换满足与海关当局的电子数据交换需求。该解决方案能够帮助企业管理全球贸易,保证贸易规范,优化跨境供应链,提升企业合规性。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 深入理解线程、进程、多线程、线程池
    本文以QT的方式来走进线程池的应用、线程、进程、线程池、线程锁、互斥量、信号量、线程同步等的详解,一文让你小白变大神!为什么要使用多线程、线程锁、互斥量、信号量?为什么需要线程 ... [详细]
  • “您可以从三个选项中(快速、便宜或好)选择两个”提出这个问题的人可能不是可观测性工程师。但也可能是,在可观测性方面,决定您 ... [详细]
  • 开足马力“拼经济” 闯出崭新“精气神”
    开足马力“拼经济” 闯出崭新“精气神” ... [详细]
author-avatar
牛奶香橙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有