- 二叉树
二叉搜索树最好的情况性能是O(logn),最坏情况是O(n)
- 红黑树
它的时间复杂度是O(logn),但是在数据量特别大的时候,树会特别高,就会遍历很多层级,对性能影响较大
- BTree
B树是一种多叉路衡查找树,相对于二叉树,B树每个节点可以有多个分支,即多叉以一颗最大度数(max-degree)为5(5阶)的b-tree为例,那这个B树每个节点最多存储4个key。并且每个节点下面存储的是数据。比如20节点下方存储的是它的数据。
- B+Tree
非叶子节点只存储指针,不存储数据。只在叶子节点存储数据。
非叶子节点作用只是导航找到叶子节点获取数据
B树与B+树对比:
①磁盘读写代价B+树更低:非叶子节点不存储数据,只存储指针。
②查询效率B+树更加稳定:数据都存储到叶子节点,都从根开始找到叶子节点,查找路径差不多,所以效率稳定。
③B+树便于扫库和区间查询:底层是双向指针的链表,进行范围查询直接从叶子节点进行查询,不需要每次从根节点开始获取数据。