目录
(一)B树(B-树)
1、二叉搜索树
二叉搜索树有如下特点:
- 所有非叶子结点至多拥有两个孩子(Left和Right)
- 所有结点存储一个关键字
- 非叶子节点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树
二叉树的搜索,从根节点开始若查询的关键字与节点关键字相等则命中;否则若关键字比结点关键字小则进入左孩子;如果比结点关键字大,就进入右孩子;若左孩子或有孩子的指针为空,则报告未找到该关键字。
2、B树的基本概念
B树(一种多路搜索树,不一定是二叉)的出现是因为磁盘 IO ,IO操作的效率很低,在大量数据存储中(一般用于数据库索引,查找效率较高),查询时我们不能一下将所有数据都加载到内存中,只能逐一加载磁盘页,每个磁盘页对应树的结点。造成大量磁盘 IO 操作(最坏情况下为树的高度),平衡二叉树由于树的深度过大造成磁盘 IO读写频繁所耗费时间长,导致效率低。
&
磁盘 IO 与预读
emsp; 磁盘读取以靠机械运动,分为寻道时间、旋转延迟、传输时间三个部分,这三个部分耗时相加为一次磁盘 IO 的时间,大概9ms。成本是访问内存的十万倍左右;正是由于磁