B-Tree深入理解
定义:
根节点至少包括两个孩子
树中每个节点最多含有m个孩子(m>=2)
除根节点和叶子节点外,其他每个节点字少有(ceil(m/2):去上线),个孩子。
所有叶子节点都位于同一高度
假设每个非终端节点中包含有n个关键字信息,其中
a).Ki(i=1...n)为关键字,且关键字按顺序升序排序K(i-1)< Ki
b).关键字的个数n必须满足:[ceil(m / 2) - 1] < = n < m-1
c).非叶子节点的指针:P[1],P[2],...,P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其它P[i]指向关键字属于(K[i-1],K[i])的子树
目的:
让每个索引块尽可能存储更多的信息,让树的高度尽可能减少io次数
查询效率是O(logn)