数组、链表、树
- 内存大,不能一次从磁盘载入
- 插入删除查找
平衡二叉树、b树
平横二叉树
:逻辑上相邻的物理上相距离很远,取一页,但这一页都是没用的数据,需要多次读取磁盘,因为磁盘读写跟cpu差很多,这样就效率不高
没有利用cpu每次存取都是一页的特点
O(log2n)
b
:每个结点可以存多个数据,可以把一个结点存一页的数据,这样一次就读一个结点,减少了读取磁盘的次数,但是总的遍历时间跟二叉树的时间差不了多少,但是把读取的时间分了大部分在内存中进行。
b+
B树:有序数组+平衡多叉树;
B+树:有序数组链表+平衡多叉树;
b+:
把数据放在叶子结点、非叶子结点做索引,提高区间访问的性能,,可以范围查找,可以直接扫描叶子结点(数据库经常有范围查找)
https://www.cnblogs.com/aspirant/p/9214485.html
搜索时间
https://zhuanlan.zhihu.com/p/110202102