数据结构-树结构的梳理

二叉树

  • 遍历(先序DLR,中序LDR,后序LRD)
  • 中序遍历能够确定二叉树结构

数据结构-树结构的梳理
数据结构-树结构的梳理
二叉排序树

  • 左子树均小于根节点,右子树均大于根节点

平衡二叉树

  • 平衡是指所有叶子的深度趋于平衡,更广义的是指在树上所有可能查找的均摊复杂度偏低

AVL树

  • 自平衡的二叉查找树(通过左右旋实现平衡)
  • 左右子树都是平衡二叉树
  • 右旋:左节点转到根节点
  • 左旋:右节点转到根节点

红黑树

  • 为了提升AVL树的update维护效率引入红黑树
  • 节点是红色和黑色
  • 根是黑色
  • 所有叶子都是黑色
  • 每个红色节点必须有两个黑色的子节点

B-树

  • 多路搜索树

数据结构-树结构的梳理
B+树
数据结构-树结构的梳理
注意:b+树是在b树的基础上增加了

  • 叶子节点包含所有树干的数据
  • 叶子节点间增加指针(类似链表)

数据结构-树结构的梳理
数据结构-树结构的梳理
B*树

  • 在b+树的基础上定义了非叶子节点相同层之间的指针

参考公众号:java技术栈