(嵌入式八股)第8章 数据结构(二)(后续数据结构相关会持续补充在这里)

8.11 平衡二叉树——红黑树

红黑树是一种 自平衡二叉搜索树(BST),在插入和删除时通过 旋转(左旋、右旋)变色 操作保持平衡。相比 AVL 树,红黑树牺牲部分平衡性,减少旋转次数,以提高插入/删除的性能,使其在实际应用中更高效

红黑树的特性

红黑树遵循五大特性,用颜色属性来维持平衡:

红黑树的恢复平衡操作

当红黑树的特性被破坏时,需要通过以下 3 种操作来恢复平衡:

变色

规则1:父节点(P)和叔叔节点(U)均为红色时

  • 父节点 P 变黑
  • 叔叔节点 U 变黑
  • 祖父节点 G 变红
  • 作用:将冲突上移到祖父节点,可能需要进一步调整。
  • 规则2:插入节点的叔叔节点(U)是黑色或不存在时

  • 可能需要旋转来修复树的结构,但如果变色足以恢复平衡,优先使用变色减少旋转次数。
  • 示例

    • 假设插入一个新节点后,出现了如下的红红冲突:

    此时,按照变色规则:

    • P 变黑
    • U 变黑
    • G 变红

    变色后树的结构变为:

    如果此时G 的父节点也是红色,则问题上移,可能需要继续调整。

    左旋

    • 作用:用于调整树的平衡,通常在插入或删除节点后,当右子树过高或出现特定红黑冲突时使用。
    • 旋转规则
    • 将当前节点 (P) 变为其右子节点 (N) 的左子节点
    • N 的左子树变成 P 的右子树(如果存在)。
    • N 取代 P 成为父节点

    示例

    初始状态:

    左旋 P,使 N 上移:

  • 效果:调整结构,降低右子树的高度,可能需要进一步变色处理。
  • 右旋

    • 作用:用于调整树的平衡,通常在左子树过高或出现特定红黑冲突时使用。
    • 旋转规则
    • 将当前节点 (P) 变为其左子节点 (N) 的右子节点
    • N 的右子树变成 P 的左子树(如果存在)。
    • N 取代 P 成为父节点

    示例

    初始状态:

    右旋 P,使 N 上移:

    效果:调整结构,降低左子树的高度,可能需要进一步变色处理。

  • 左旋:将右子树调整为平衡状态,减少右倾现象。
  • 右旋:将左子树调整为平衡状态,减少左倾现象。
  • 旋转后通常需要以保
  • 剩余60%内容,订阅专栏后可继续查看/也可单篇购买

    作者简介:仅用几个月时间0基础天坑急转嵌入式开发,逆袭成功拿下华为、vivo、小米等15个offer,面试经验100+,收藏20+面经,分享求职历程与学习心得。 专栏内容:这是一份覆盖嵌入式求职过程中99%问题指南,详细讲解了嵌入式开发的学习路径、项目经验分享、简历优化技巧、面试心得及实习经验,从技术面,HR面,AI面,主管面,谈薪一站式服务,助你突破技术瓶颈、打破信息差,争取更多大厂offer。

    全部评论

    相关推荐

    思特威AI芯片工程师一面面经思特威——面经timeline岗:数字ic目前进度:正式offer除了迪✌🏻的唯一一个offer😭感谢老思。秋招期间在牛客看了很多面经贴,快成老家了,发个面经贴攒攒人品。笔试:8.23常见八股加一道智力题,原来貌似倒计时一个小时但是计时结束也不会强制提交,现在同门反馈是会强制提交了。一面:技术面 9.5 30min总体来说氛围比较轻松,结合项目询问低功耗处理方法和异步处理方法,让讲了个异步fifo,会询问代码量之类的。二面:部门主管面 9.21 30-40min探讨了我项目中所负责的模块的实际应用场景(可能相比起技术细节会更偏向于对IP应用的思考)我的项目多是数模结合的模块,因此也追问了数模结合项目对于个人求职中的优势。整体下来更多是在询问在项目中担任的角色和对自己项目模块高层次的掌握程度。反问问了面试官身份,工作内容和项目中的重难点三面:hr面10.11 45min(没想到是最久的)谈了下入职之后的培训,公司发展情况和业务情况,以及可能的薪资待遇,照常询问了一下现有的offer和等待的机会。反问环节确认了一下自己的排序情况。第二天oc,过几天收到了offer使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态思特威电子科技2025春招今日启动【公司介绍】思特威(上海)电子科技股份有限公司是一家从事CMOS图像传感器芯片产品研发、设计和销售的高新技术企业,总部设立于中国上海,在多个城市及国家设有研发中心 【春招岗位】技术(算法、AI工程师、测试、开发等)、销售(芯片销售)、运营(资源工程师、生产管培生)、职能(行政、合规)等 【工作地点】上海、深圳、昆山 【面向人群】25届海内外毕业生【薪酬待遇】丰富的薪酬结构,行业领先的薪酬回报、上海快速落户、丰富的员工福利、完善的应届生培养体系内推链接:https://app.mokahr.com/m/campus_apply/smartsenstech1/56088?recommendCode=DS6Y4M6c&hash=%23%2Fjobs#/jobs内推码:DS6Y4M6c(简历优先筛选,后续有疑问或者流程问题欢迎随时联系) 使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态                             
    点赞 评论 收藏
    分享
    评论
    5
    6
    分享

    创作者周榜

    更多
    牛客网
    牛客企业服务