多叉树
1.在二叉树中,每个节点只有一个数据项,最多有两个节点.如果允许每个节点可以有更多的数据项和更多的子节点,就是多叉树
2.后面得2-3树,2-3-4树就是多叉树,多叉树通过重新组织节点,减少树的高度,能对二叉树进行优化
3.举例说明(下面的2-3树就是一颗多叉树)
B树
B树的基本介绍
B树通过重新组织节点,降低树的高度,并且减少I/O读写次数来提升效率
1.如图B树通过重新组织节点,降低了树的高度
2…文件系统及数据库系统的设计者利用了磁盘预读原理,将一个节点的大小设为一个页(页的大小通常为4k),这样每个节点只需要一次I/O就可以完全载入
3.将树的度M设置为1024,在600亿个元素中最多只需要4次I/O操作就可以读取到想要的元素,B树广泛应用于文件存储以及数据库系统中
节点的度 一个节点下面有几个节点
树的度: 是所有节点里最大的度的值
节点的的度是2
2-3树
2-3树的基本介绍
2-3树是最简单的B树结构,具有如下特点;
1.2-3树的所有叶子结点都在同一层(只要是B树都满足这个条件)
2. 有两个子节点的节点叫二节点,二节点要么没有子节点,要么有两个子节点
3. 有三个子节点的节点叫三节点,三节点要么没有子节点,要么有三个子节点
4. 2-3树是有二节点和三节点构成的树
B树,B+树和B*树
B树的介绍:
BTree树即B树,B即Balanced,平衡的意思.有人把B-tree翻译成B-树,容易让人误解.会以为B-树是一种树,而B树是另一种树,实际上,B-tree就是B树
前面已经介绍2-3树和2-3-4树,他们就是B树,这里我们在做一个说明,我们在学习MySQL时,经常听到说某种类型的索引是基于B树或者B+树的如图
B树的说明:
1.B输的阶:节点的最多子节点个数,比如2-3树的阶是3, 2-3-4树的阶是4
2.B-树的搜索,从根节点开始,对节点内的关键字(有序)序列进行二分查找,如果命中则结束;重复,知道所对应的儿子指针为空,或已经是叶子节点
3.关键字集合分布在整颗树种,即叶子节点和非叶子节点都存放数据
4.搜索有可能在非叶子节点结束
5.其搜索性能等价于在关键字内全集做一次二分查找
B+树的介绍
B+树是B树的变体,也是一种多路搜索树