B树
B树即平衡查找树,一般理解为平衡多路查找树,也称为B-树、B_树。是一种自平衡树状数据结构,能对存储的数据进行O(log n)的时间复杂度进行查找、插入和删除。B树一般较多用在存储系统上,比如数据库或文件系统。
B树特点
B树可以定义一个m值作为预定范围,即m路(阶)B树。
每个节点最多有m个孩子。
每个节点至少有ceil(m/2)个孩子,除了根节点和叶子节点外。
对于根节点,子树个数范围为[2,m],节点内项的个数范围为[1,m-1]。
对于非根节点,节点内的项个数范围为[ceil(m/2)-1,m-1]。
根节点(非叶子节点)至少有两个孩子。
一个有k个孩子的非叶子节点包含k-1个项。
所有叶子节点在同一层。
节点内的项按照从小到大排列。
父节点的若干项作为分离项分成多个子树,左子树小于对应分离项,对应分离项小于右子树。
以下是一个四阶B树,
插入操作
假设现在要构建一棵四阶B树,我们开始插入“A”,直接作为根节点。