hash:容量固定(扩容性能下降)、hash算法避免冲突
二叉树
二叉平衡树和红黑树对比
红黑树旋转少
存储结构
数组顺序存储,满二叉树节省内存,非满二叉树浪费空间
顺序存储节点位置:节点X存储在数组中下标为i的位置,左子节点位置下标为2i,右子节点下标为2i+1
二叉平衡树 AVL
平衡是为了避免退化成链表(性能下降)
红黑树
增删改查时为维护严格平衡,调整数结构的代价较高,频繁增删改查维护平衡成本高
所以红黑树不要求绝对平衡,近似平衡即可
特性:黑根、叶节点(nil)黑色、节点的黑高相同、红色节点不相邻
应用场景
epoll存储文件描述符:红黑树+双向链表