如下的二叉树:
二叉树需要加载到内存的,如果二叉树的节点很多, 会有如下问题:
如果每个节点可以有多个value,且每个节点可以有多个子节点,那就是多叉树(multiway tree)。多叉树能减少树的高度,多叉树有B树、B+树等
B即Balanced,B树也叫B-tree树。B树可以减少i/o读写次数来提升效率,如下所示:

文件系统及数据库系统的设计者利用磁盘预读原理,将一个磁盘节点的大小设为等于一个页缓存(页缓存得大小通常为4k),这样每个磁盘节点只需要一次I/O就可以完全载入。将树的度设置为1024(即一个节点最多能有1024个子节点),在600亿个元素中最多只需要4次I/O操作就可以读取到想要的元素。所以B树(B+树)广泛应用于文件存储系统及数据库系统中做为索引

B树说明:
2-3树是最简单的B树结构, 具有如下特点:
2-3树的构建思路:
当添加一个节点时,不能满足上面2-3树特点,就需要进行补或拆。先向上层补;如果上层满,则拆本层;拆后如果所有叶子节点不再同一层,则对层数低的树进行拆分。最后仍需满足上面3个条件
对于三节点的子树的值大小仍然遵守二叉排序树BST的规则。即左边的值最小,右边的值最大
例子:将数列{16, 24, 12, 32, 14, 26, 34, 10, 8, 28, 38, 20}构建成2-3树,并保证数据插入的大小顺序。步骤如下:
步骤1:

步骤2:
步骤3:

步骤4:

步骤5:

除了2-3树,还有2-3-4树等,概念和2-3树类似,也是一种B树
B+树是B树的变体。如下所示:

B+树说明:
B*树是B+树的变体,在B+树的非root节点和非叶子节点再增加指向兄弟的指针。如下所示:

B*树说明: