原文:面试题:为什么用红黑树不用普通的AVL树

在Jdk . 版本后,Java对HashMap做了改进,在链表长度大于 的时候,将后面的数据由链表改为了存在红黑树中,以加快检索速度。 有疑问为什么是使用红黑树而不是AVL树,AVL树是完全平衡二叉树阿 最主要的一点是: 在CurrentHashMap中是加锁了的,实际上是读写锁,如果写冲突就会等待,如果插入时间过长必然等待时间更长,而红黑树相对AVL树他的插入更快 问题:为什么不使用AVL树而使 ...

2021-01-19 14:42 0 439 推荐指数:

查看详情

AVL

在此之前,我没有了解过以及AVL tree,真是孤陋寡闻。如果你也在学习的话,我们一起进步。 如果,你很急,那么只看红色加粗即可。 1.(RB-tree) 是一种特殊的二叉搜索,特殊在它的性质。它是SGI STL(gcc编译器使用)唯一实现的搜寻,作为关联式容器 ...

Sat Mar 02 18:35:00 CST 2019 2 1295
Java面试题原理

原理: 每个节点都只能是红色或黑色的; 根节点是黑色的; 每个叶节点(空节点)是黑色的; 如果一个节点是红色的,那么他的子节点都是黑色的; 从任意一个节点到其每个子节点的路径都有相同数目的黑色节点; ...

Sat Feb 23 11:01:00 CST 2019 0 1212
详解,AVL区别

是一种很经典的数据结构,它可以在O(log n)时间内做查找,插入和删除。所以倍受关注。但是一直以来很多Java程序员对他都不是很重视,直到在JDK 1.8中,HashMap会将其链表转换成,此后,很多人就开始重新学习的有关知识。 作者在学习时,查阅了很多资料都没有 ...

Fri Dec 27 18:29:00 CST 2019 1 2198
AVL的区别(转)

add by zhj: AVL都是平衡二叉树,虽然AVL是最早发明的平衡二叉树,但直接把平衡二叉树等价于AVL,我认为非常不合适。 但很多地方都在这么用。两者的比较如下 平衡二叉树类型 平衡度 调整频率 适用 ...

Fri Jul 12 15:22:00 CST 2019 0 5156
AVL的个人理解

都说编程算法很重要,可真没见几个.NET程序员研究算法的。这些日子非主流地研究了一些小算法,AVL算是其中复杂的了,但实际也就二三百行代码。悲催的是,网上根本找不到C#的理想版本(包括国外网站),寥寥几个,要么有错,要么非主流的实现方式。 所谓主流方式,就是用表二叉排序树 ...

Thu Jun 07 00:25:00 CST 2012 4 16800
标志有什么用

使用二色进行“着色”,目的是利用颜色值作为二叉树的平衡对称性的检查,只要插入的节点“着色”满足二色的规定,最短路径与最长路径不会相差的太远,的节点分布就能大体上达至均衡。 演示动画网站:http://www.bbniu.com/matrix ...

Thu Jun 06 04:03:00 CST 2019 0 1964
AVL、splay(伸展)和比较

AVL、splay(伸展)和比较 一、AVL: 优点:查找、插入和删除,最坏复杂度均为O(logN)。实现操作简单 如过是随机插入或者删除,其理论上可以得到O(logN)的复杂度,但是实际情况大多不是随机的。如果是随机的,则AVL 能够达到比RB更优 ...

Wed Jan 10 04:32:00 CST 2018 0 1616
面试题——轻松搞定面试中的问题

版权所有,转载请注明出处,谢谢!http://blog.csdn.net/silangquan/article/details/18655795 连续两次面试都问到了,关键两次都没有答好,这次就完整地来学习整理一下。 没有学习过的同学请参考: << ...

Wed Apr 22 01:29:00 CST 2015 2 29054
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM