数据结构优化过程

114 阅读1分钟

BST树缺点:可能生成链表,复杂度为O(n) (优化AVL)

AVL树缺点:层数太多,磁盘IO读取过多 (优化B树)

B树缺点:不利于范围查找 (优化B+树)

BST树 二叉排序树

  • 根节点大于左子树每一个节点值,小于右子树每一个节点值
  • 时间复杂度是O(logn)

AVL树 平衡二叉树

  • 根节点大于左子树每一个节点值,小于右子树每一个节点值
  • AVL树上任意节点的左、右字数的高度差最大为1

B树 平衡多路查找树

  • 查询时,树有多少层就要读多少次磁盘IO(尽量把树建矮一点)
  • B树的每个结点都包含Key,Value。离根节点越近越利于查找

B+树

  • B+的节点,一种时索引节点和叶子节点
  • 结果保存在叶子节点
  • 叶子节点会形成一条有序链表
  • 全部的节点都会出现在叶子节点