1. AVL是严格平衡的,频繁的插入和删除,会引起频繁的rebalance,导致效率降低;红黑树是弱平衡的,算是一种折中,插入最多旋转2次,删除最多旋转3次。 所以红黑树在查找、插入删除的复杂度都是O(logn),且性能稳定,所以STL里面很多结构包括map底层都是使用的红黑树。 __EOF__...
首先在map里面红黑树的产生是很不容易的(大于8个冲突才变成红黑树,如果hash函数选的好的话这个概率是...
1.七层网络模型?干嘛用的? 2.TCP和UDP的区别? 3.三次握手和四次挥手? 4.说一下Java中的集合?HashMap的底层实现?为什么不直接用红黑树? 5.说一下内存区域,都有什么作用? 6.说一下ConcurrentHashMap?它为什么线程安全? 7.都有哪些锁? 8.volatile关键字?
1. AVL是严格平衡的,频繁的插入和删除,会引起频繁的rebalance,导致效率降低;红黑树是弱平衡的,算是一种折中,插入最多旋转2次,删除最多旋转3次。 所以红黑树在查找、插入删除的复杂度都是O(logn),且性能稳定,所以STL里面很多结构包括map底层都是使用的红黑树。 __EOF__...