MAP底层实现是红黑树RB树:
红黑树与AVL树的比较:
1.AVL(三者皆是ologn)树的时间复杂度虽然优于红黑树,但是对于现在的计算机,cpu太快,可以忽略性能差异
2.红黑树的插入删除比AVL树更便于控制操作
3.红黑树整体性能略优于AVL树(红黑树旋转情况少于AVL树)
红黑树是一棵二叉搜索树,它在每个节点增加了一个存储位记录节点的颜色,可以是RED,也可以是BLACK;通过任意一条从根到叶子简单路径上颜色的约束,红黑树保证最长路径不超过最短路径的二倍,因而近似平衡。
具体性质如下:每个节点颜色不是黑色,就是红色
根节点是黑色的
如果一个节点是红色,那么它的两个子节点就是黑色的(没有连续的红节点)
对于每个节点,从该节点到其后代叶节点的简单路径上,均包含相同数目的黑色节点