Tree相关概念及特点总结

平衡:树的左右子树的高度差距在一个可控的范围内

  1. B-TREE
    多路搜索树
  2. AVL
    平衡二叉树:
    空树或它的左右两个子树的高度差的绝对值不超过1,左右两个子树都是一颗平衡二叉树。
  3. RB-TREE
    红黑树:
    红黑树属于平衡二叉树,但不是严格的平衡二叉树,相对接近平衡的二叉树,
    最大深度<=最小深度的两倍(即没有一条路径比其他路径长出两倍)
  4. BST
    二叉搜索树(Binary Search Tree):
  5. BBST
    平衡二叉排序树(Balance Binary Sort Tree)

红黑树概念:

红黑树特点:

红黑树应用场景:

  • TreeMap
    基于红黑树实现的排序Map,默认按key(实现comparable接口)来比较排序。
    TreeMap的增删查改以及统计操作的时间复杂度都为O(logn)
  • TreeSet
  • JDK1.8中
    HashMap每个数组节点挂的元素个数超过8
    ConcurrentHashMap每个数组节点挂的元素个数超过8

红黑树与AVL树对比:

  • 红黑树的查询性能略逊色于AVL树
    红黑树放弃了追求完全平衡,追求大致平衡,
    红黑树的高度相对更高,因此
  • 红黑树的插入和删除性能比AVL效率高

你可能感兴趣的:(算法,数据结构,红黑树,二叉树,平衡树)