红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到一个能在对数时间内完成查找的数据结构。这个时候,红黑树站了出来。阅读以下需要了解普通二叉树的插入以及删除操作。红黑树是在普通二叉树上,对没个节点添加一个颜色属性形成的,同时整个红黑二叉树需要同时满足一下五条性质
                            
                            
                                分类:
其他好文   时间:
2020-05-22 10:12:24   
                                阅读次数:
85
                             
                    
                        
                            
                            
                                    要点 ConcurrentHashMap是HashMap的线程安全版本; 不允许[key,value]为null; 比Hashtable锁粒度更细; 采用CAS和synchronized来保证并发安全。数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树; 负载因子0.75; 默认初始化 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-16 19:40:58   
                                阅读次数:
76
                             
                    
                        
                            
                            
                                    5. ConcurrentHashMap和HashTable的区别? 参考: "博客主dreamcatcher cx" ? "GitHub Guide哥" 底层数据结构:JDK1.7底层采用 数组+链表 实现。JDK1.8采用 数组+链表/红黑二叉树 实现。HashTable一直都采用的是 数组+链 ...
                            
                            
                                分类:
其他好文   时间:
2020-03-18 15:55:30   
                                阅读次数:
59
                             
                    
                        
                            
                            
                                【前言】自己整理的东西才是自己的。【概念】红黑树(RedBlackTree)别名:对称二叉B树,是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的:它可以在O(logn)时间内做查找,
                            
                            
                                分类:
编程语言   时间:
2020-01-19 15:17:49   
                                阅读次数:
88
                             
                    
                        
                            
                            
                                需要排序的时候使用TreeMap,是红黑二叉树的典型实现Map<Integer,String>treemap=newTreeMap<>();treemap.put(1,"ad");treemap.put(12,"ff");treemap.put(4,"bb");*treemap.keySet()*//返回键的集合for(Integeri:treemap.keySet())/
                            
                            
                                分类:
编程语言   时间:
2019-07-20 11:41:59   
                                阅读次数:
129
                             
                    
                        
                            
                            
                                1、底层数据结构: JDK1.7的ConcurrentHashMap底层使用分段的数据+链表实现,JDK1.8采用的数据结构和HashMap1.8的结构一样。数据+链表/红黑二叉树。 Hashttable和JDK1.8之前的HashMap的底层数据结构类似都是采用数据+链表的形式,数组是HashMa ...
                            
                            
                                分类:
其他好文   时间:
2019-01-11 17:24:20   
                                阅读次数:
146
                             
                    
                        
                            
                            
                                Set中不能有重复元素,通过equals方法判断 HashSet : 为快速查找而设计的Set,存入的元素必须定义hashCode()方法,可以有一个null值 TreeSet :底层为树结构(红黑二叉树),内部有序.存入的元素必须实现comparable接口,不能有null值 LinkedHash ...
                            
                            
                                分类:
编程语言   时间:
2018-10-09 23:09:23   
                                阅读次数:
225
                             
                    
                        
                            
                            
                                红黑树 动机 Q: 在已经有了AVL之类的BBST,为什么还需要引入红黑树? A: 我们希望数据结构具有关联性,即相邻版本之间,比如说第一次插入,和第二次插入时,树的结构不能发生太大变化, 应该可以经过O(1)次数就可以变化完成。 对于AVL树来说,插入是满足这个条件的,删除却不满足这个条件。 红黑 ...
                            
                            
                                分类:
其他好文   时间:
2018-09-28 20:44:52   
                                阅读次数:
159
                             
                    
                        
                            
                            
                                基本思想:用标准的二叉树和一些额外信息来表示2-3树。 红链接将2-结点连接起来构成一个3-结点,黑链接则是2-3树中普通链接。 等价定义: 1、红链接均是左链接 2、没有任何一个结点同时和两条红链接相连 3、该树是完美黑色平衡的,即任意链接到根结点的路径上的黑色链接数量相同。 1、结点的定义: 每 ...
                            
                            
                                分类:
其他好文   时间:
2017-02-26 20:31:32   
                                阅读次数:
170
                             
                    
                        
                            
                            
                                    红黑树又称红-黑二叉树,它首先是一颗二叉树,它具体二叉树所有的特性。同时红黑树更是一颗自平衡的排序二叉树。我们知道一颗基本的二叉树他们都需要满足一个基本性质–即树中的任何节点的值大于它的左子节点,且小于它的右子节点。按照这个基本性质使得树的检索效率大大提高。我们知道在生成二叉树的过程是非常容易失衡的 ...
                            
                            
                                分类:
其他好文   时间:
2016-12-22 10:51:40   
                                阅读次数:
199