普通树一个结点可以有多个孩子,但它本身只能存储一个元素,而二叉树结点最多只能有两个,这对于元素非常多的时候,会使得树的度或者是高度会非常大。这就使得内存存取外存的次数会增多,一旦涉及到外部存储设备,时间复杂度的计算就会受到影响,所以为了降低对外存设备的访问次数,就引入了一个叫多路查找树(mutil-way search tree)的数据结构。
多路查找树,其每一个结点的孩子数可以多于两个,且每一个结点可以存储多个元素。多路查找树有查找的性质,所以,所有元素之间又存在着特定的排序关系。多路查找树的4种特殊形式:2-3树、2-3-4树、B树和B+树
最开始说说最简单的B树,2-3树
1.1 概念
2-3树其中的每个非叶子结点都具有两个孩子(2结点)或三个孩子(3结点)。高度为h的2-3树结点数至少有2^h - 1个。
2结点包含一个元素S和两个孩子(或没有孩子)。元素S大于左子树包含的元素,小于右子树包含的元素。
3结点包含两个元素S和L以及三个孩子(或没有孩子)。元素S大于左子树包含的元素且小于中间子树包含的元素,元素L大于中间子