红黑树(简易版)

一、一句话

红黑树 ≈ 近似平衡的二叉查找树,保证查找 O(log n)


二、5 条性质(背前 4 条即可)

  1. 节点是 红 / 黑
  2. 根是 黑
  3. 叶子(NIL)是 黑
  4. 红节点的孩子必须是黑(不能连续红)
  5. 任意节点到叶子的 黑高相同(保证平衡)

三、vs AVL(面试必问)

对比 红黑树 AVL
平衡 弱平衡(黑高一致) 严格平衡
插入/删除 更快(旋转少) 慢
查询 稍慢 更快
应用 TreeMap、HashMap 早期数据库

插入删除多 → 红黑树;查询多 → AVL


四、旋转(理解就行)

  • 左旋:右子变父
  • 右旋:左子变父

五、插入(只记结论)

  1. 新节点默认 红色
  2. 父节点是黑 → 结束
  3. 父节点是红 → 看叔叔
    • 叔叔红 → 变色 + 上推
    • 叔叔黑 → 旋转 + 变色

六、时间复杂度

操作 时间
查找 O(log n)
插入 O(log n)
删除 O(log n)

七、工程应用

  • Java TreeMap / TreeSet
  • C++ std::map
  • Linux 调度器

八、要不要手写?

面试 刷题 工作
❌ 不考 ❌ 不写 ❌ 不用写

只考理论,不考手写。


相关推荐
取名真是17 分钟前
Python 算法知识点从基础到进阶
开发语言·python·算法
罗西的思考34 分钟前
【轻量化复刻大模型 / KIMI K3】KDA 模块交互式演示
人工智能·算法·机器学习
nm_zfyjt3 小时前
信息流广告投放优化实践:线索成本评估模型与转化链路重构(家装建材案例)
算法·重构·内蒙古朋友圈广告服务商·内蒙古朋友圈获客
w_zero_one4 小时前
算法--构造
java·数据结构·算法
其实防守也摸鱼4 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
小超人诞生日记6 小时前
C++ 智能指针的使用及其原理详解
c++·算法
AiNightVision9 小时前
无人机夜视模块如何选择?——从参数指标到系统集成的完整选型指南
人工智能·算法·计算机视觉·车载系统·无人机·视频·智能硬件
牧羊人.33310 小时前
卷积神经网络之VGG
人工智能·深度学习·神经网络·算法·cnn
小郎君65810 小时前
Vue 多标签页的加载态设计:为什么我没有用 Suspense 实现 PageLoading
vue.js·算法