社区
Java SE
帖子详情
java中的TreeMap为什么要用红黑树实现,而不用AVL树实现呢?我感觉AVL树更高效啊
boxiuzhen
2008-10-27 03:46:07
大家都应该知道树的效率是和高度height高度紧密的联系着
所谓的效率是指insert,delete,search
AVL tree的height < 1.75 log2(n)
红黑树的 height <= 2 log2(n+1)
n是树中所有元素的个数。
很明显AVL树的高度height比红黑树小,那为什么java中的TreeMap不用AVL树来实现呢?
...全文
1354
12
打赏
收藏
java中的TreeMap为什么要用红黑树实现,而不用AVL树实现呢?我感觉AVL树更高效啊
大家都应该知道树的效率是和高度height高度紧密的联系着 所谓的效率是指insert,delete,search AVL tree的height < 1.75 log2(n) 红黑树的 height <= 2 log2(n+1) n是树中所有元素的个数。 很明显AVL树的高度height比红黑树小,那为什么java中的TreeMap不用AVL树来实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wsx276166228
2012-04-24
打赏
举报
回复
xiexie
Q_spring
2011-09-28
打赏
举报
回复
lz啥时来结贴啊?我想知道答案啊!
tcxch
2011-03-05
打赏
举报
回复
我也很好奇,我们课上学了AVL,但是API里确实是红黑树
boxiuzhen
2008-11-10
打赏
举报
回复
o
wps_007
2008-11-09
打赏
举报
回复
学习中!
boxiuzhen
2008-10-30
打赏
举报
回复
谢谢大家的回复,我好像有些眉目了。
可能是我太着急想知道答案,也有可能是因为这几天病了,脑子也糊涂了,
我在提问之前忘记了书后还有一章是专门讲TreeMap的实现的,等我看完这章之后可能会对这个
问题有更深一步的理解。
所以再等我一个礼拜左右的时间,我再来结贴
chenfeng2002
2008-10-28
打赏
举报
回复
http://blog.chinaunix.net/u1/35281/showart_279925.html
可看看这个
yami251139
2008-10-27
打赏
举报
回复
红黑树修改,插入比avl快点
avl查询比较快
一般用到算法。。。大多不是查询吧。。。
boxiuzhen
2008-10-27
打赏
举报
回复
[Quote=引用 3 楼 java__king 的回复:]
学习..
[/Quote]
这个问题真的有那么难吗?
java__king
2008-10-27
打赏
举报
回复
学习..
boxiuzhen
2008-10-27
打赏
举报
回复
[Quote=引用 1 楼 ilysony 的回复:]
红黑树应用比较普遍..
[/Quote]
我比较想知道“原因”,“结果”我也知道,呵呵
Sou2012
2008-10-27
打赏
举报
回复
红黑树应用比较普遍..
红黑树
实战:从Linux内核到
Java
TreeMap
,揭秘
高效
数据结构的
实现
细节
本文深度剖析
红黑树
在Linux内核rbtree和
Java
TreeMap
中
的工程化
实现
差异:涵盖嵌入式节点设计、无回调比较、增强型结构 vs 面向对象封装、Comparator灵活性、并发模型及内存管理策略;重点对比插入/删除重平衡逻辑、性能特征与调试验证方法,并延伸至区间查询扩展、持久化变体及并发
红黑树
等前沿方向。
TreeMap
简析
本文简要介绍了
红黑树
及其与2-3树的关系,重点在于理解
红黑树
如何通过2-3树的演变而来。接着,文章转向
TreeMap
,它是基于
红黑树
的
Java
集合,用于
实现
有序映射。
TreeMap
主要利用
红黑树
的特性,提供
高效
的查找、遍历操作。虽然详细源码未展开,但提到了其常用操作如entrySet和keySet的
实现
。文章还提及了与Redis有序集合SortSet的相似性,但SortSet使用了跳表数据结构。
红黑树
详细分析(个人
感觉
很详细的一个)
本文深入解析
红黑树
的原理与操作,涵盖
红黑树
的性质、旋转、插入、删除等核心概念,以及在
Java
和C++
中
的实际应用。
【
Java
】基础篇-排序二叉树
博客建议从知识源头学习,接着介绍排序二叉树和
红黑树
,为
TreeMap
和TreeSet做准备。排序二叉树有查找、插入、删除等运算规则,高度不平衡时效率低。
红黑树
是自平衡二叉查找树,插入和删除通过旋转操作平衡,介绍了其性质及染色、旋转相关内容。
平衡二叉树的旋转_基于
Java
8的红黑二叉树之红黑颜色的源码分析,看不懂别怪我,看懂了你就彻底明白了...
本文面向有二叉树和平衡二叉树基础的读者,解释
红黑树
相关问题。介绍了二叉树和平衡二叉树特点,指出平衡二叉树在插入数据时可能影响查询性能。
红黑树
是非严格平衡的自平衡二叉查找树,颜色参与旋转判定,保证查询性能同时减少插入操作量,还给出红黑颜色规定。
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章