平衡:树的左右子树的高度差距在一个可控的范围内数组
- B-TREE
多路搜索树
- AVL
平衡二叉树:
空树或它的左右两个子树的高度差的绝对值不超过1,左右两个子树都是一颗平衡二叉树。
- RB-TREE
红黑树:
红黑树属于平衡二叉树,但不是严格的平衡二叉树,相对接近平衡的二叉树,
最大深度<=最小深度的两倍(即没有一条路径比其余路径长出两倍)
- BST
二叉搜索树(Binary Search Tree):
- BBST
平衡二叉排序树(Balance Binary Sort Tree)
红黑树概念:性能
红黑树特色: 排序
红黑树应用场景:接口
- TreeMap
基于红黑树实现的排序Map,默认按key(实现comparable接口)来比较排序。
TreeMap的增删查改以及统计操做的时间复杂度都为O(logn)
- TreeSet
- JDK1.8中
HashMap每一个数组节点挂的元素个数超过8
ConcurrentHashMap每一个数组节点挂的元素个数超过8
红黑树与AVL树对比:效率
- 红黑树的查询性能略逊色于AVL树
红黑树放弃了追求彻底平衡,追求大体平衡,
红黑树的高度相对更高,所以
- 红黑树的插入和删除性能比AVL效率高