学习笔记-AVL数和红黑树

本文深入探讨了红黑树与AVL树的概念,阐述了AVL树的高度平衡特性及其在查找操作中的高效表现,接着引入红黑树作为AVL树的优化方案,通过牺牲少量查询效率来显著减少插入和删除操作的调整次数。文章还简要提及了AVL树与红黑树在调整操作上的差异与优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直对红黑树十分困惑,不知道给二叉树节点加上颜色比较的用处到底是什么。

今天花时间把这块整理一下,帮助记忆。


AVL树

AVL 是高度平衡的二叉树,每一棵树的平衡因子都小于或等于1,即左右子数高度相差 1 

AVL 树的查询效率为 O(lgN) ,N为节点数。

同时,向AVL树进行插入和删除操作会导致其不在平衡,需要进行至多O(lgN)次调整。

调整的方式主要有4种:

1) 左旋转

2) 右旋转

3) 先左后右旋转

4) 先右后左旋转

详细见 http://zh.wikipedia.org/wiki/AVL%E6%A0%91



红黑树

红黑树主要是在AVL树的基础之上提出的,在牺牲查询较少的查询效率的情况下,减少插入和删除时的调整次数。

红黑树的最差查询效率为 O(2lg(N+1)) ,而插入和删除节点只需要进行两到三次调整即可

过程有些复杂,没有耐心写,只好借用一下别人的介绍了。

http://blog.youkuaiyun.com/eric491179912/article/details/6179908

http://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91


以后再慢慢实现吧,今天实在是写不动代码了。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值