平衡树B树B+树红黑树

时间:2021-02-22 20:12:36

二叉树与二叉查找树的操作是必须要熟练掌握的,接下来说的这些树实现起来很困难,所以我们重点去了解他们的特点。

一、平衡二叉查找树与红黑树

平衡树AVL:追求绝对的高度平衡,它具有稳定的logn的高度,因此有很好的查找性能O(logn),由于它每次插入删除都需要再平衡,所以插入删除代价较大。

红黑树:红黑树是类平衡树,它不要求绝对平衡,所以他的查找性能略逊于AVL,但是它却因此可以获得较好的插入删除性能O(logn),因此我认为它是一种折中的次略。

二、B树与B+树

B树与B+树的区别

结构:

①B树的关键字信息分布在非终端节点上,B+树的关键字信息全在叶子节点上,非终端节点可以看成是索引

②B+树的叶子节点顺序链接,因此有两种遍历方式,从根节点遍历或按最小值遍历

优点:

①B+树更加适合做文件系统索引,B+树的非终端节点含有关键信息的索引,因此其非终端节点的存储空间更小,同一大小盘块儿就能够装更多的内容,磁盘IO次数就越少。

②B+树的每一次查找都是从根节点到叶子节点,因此有更加稳定的查询性能。

为什么索引能够提高查询性能

B树的每一个节点包含更多的关键字信息,统一节点顺序存储,假设一个节点在一个盘块儿中,与二叉树相比显然可以降低IO操作的次数。