二叉树:html
左右两个子节点 能够为空数据库
二叉查找树:优化
左子树小于根节点,又子树大于根节点ui
平衡二叉树:spa
任何节点的左右两个子树的高度相差最大为1,(高度相差大于1会旋转操做).net
B-Tree:(平衡多路查找树)设计
B-Tree是为磁盘等外存储设备设计的一种平衡查找树指针
系统从磁盘中读取数据是以磁盘块为单位,一次会把统一磁盘的数据都读出来htm
索引引入的目的是为了快速查询以及更新表中的数据,是有序表,能够用二分查找提升效率blog
磁盘I/O操做是影响整个B-Tree查找效率的决定因素
若数据量很大则B-Tree的深度较大,增大查询时的磁盘I/O次数,进而影响查询效率(采用B+Tree的缘由)
B+Tree:
B+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构
MySQL InnoDB引擎的索引底层实现采用的是B+tree
对于范围查找来讲,b+树只需遍历叶子节点链表便可,b树却须要重复地中序遍历。
B+Tree相对于B-Tree有几点不一样: