1. AVL是严格平衡的,频繁的插入和删除,会引起频繁的rebalance,导致效率降低;红黑树是弱平衡的,算是一种折中,插入最多旋转2次,删除最多旋转3次。 所以红黑树在查找、插入删除的复杂度都是O(logn),且性能稳定,所以STL里面很多结构包括map底层都是使用的红黑树。 __EOF__...
首先在map里面红黑树的产生是很不容易的(大于8个冲突才变成红黑树,如果hash函数选的好的话这个概率是...
广泛用于C++的STL中,Map和Set都是用红黑树实现的; 著名的Linux进程调度Completely Fair Scheduler,用红黑树管理进程控制块,进程的虚拟内存区域都存储在一颗红黑树上,每个虚拟地址区域都对应红黑树的一个节点,左指针指向相邻的地址虚拟存储区域,右指针指向相邻的高地址虚拟地址空间; IO多路复用epoll的实现采用红黑树组织管...
1.七层网络模型?干嘛用的? 2.TCP和UDP的区别? 3.三次握手和四次挥手? 4.说一下Java中的集合?HashMap的底层实现?为什么不直接用红黑树? 5.说一下内存区域,都有什么作用? 6.说一下ConcurrentHashMap?它为什么线程安全? 7.都有哪些锁? 8.volatile关键字?
1. AVL是严格平衡的,频繁的插入和删除,会引起频繁的rebalance,导致效率降低;红黑树是弱平衡的,算是一种折中,插入最多旋转2次,删除最多旋转3次。 所以红黑树在查找、插入删除的复杂度都是O(logn),且性能稳定,所以STL里面很多结构包括map底层都是使用的红黑树。