多叉树存在优点和应用
多叉树能够在存储数据时候,降低层高。
多叉树的使用,使节点的数量变少,查找的节点数目变少。
多叉树和B树特点
- 多叉树没有约束平衡
- 没有约束每个节点子树的数量
- B树 Key数据是有规律的
B -tree 和B+tree
B+tree 特点,所有的节点在叶子节点上都有,叶子节点存储key值,内部节点不存储数据;
所有的数据存储到叶子节点;
所有叶子节点通过前后指针链接起来;
B-tree 定义
一颗M阶B树,满足以下条件:
- 每个节点至多拥有M棵子树;
- 根节点至少拥有两棵子树;
- 除了根节点以外,其余每个分支节点至少拥有M/2棵子树;
- 所有的叶节点都在同一层上;
- 有k棵子树的分支节点则存在k-1个关键字,关键字按照递增顺序进行排序;
- 关键字数量满足ceil(M/2)-1 <= n <= M-1;
程序开发技巧
M阶B树,指B树中每个节点最多可以存在M个子树,节点内包含ceil(M/2)-1 <= n <= M-1个
代码开发时
M阶定义为偶数,那么keys个数就是奇数。