假设未命中的查找结束于一个3-结点,而它的父结点是一个3-结点。通过观察,到根节点都是满3节点。 我们发现(1、3)、(4、6)、(8、12)都是3节点,无法插入,意味着当前我们的树结构是三层已经不满足当前节点增加的需要了,于是将(1、3)拆分,(4、6)拆分,(8、12)拆分,树的深度增加一层。 2-3树的删除节点...
2-3 树和 2-3-4 树 2-3 树是拥有以下性质的多路查找树:每一个结点都具有两个孩子(称为 2 结点)获三个孩子(称为 3 孩子)一个 2 结点包含一个元素和两个孩子(或没有孩子),左子树包含的元素小于该元素,右子树包含的元素大于该元素一个 3 结点包含一大一小两个元素和三个孩子(或没有孩子),...
在国内有经常将两者都写作B-树的情形, 是一种平衡的多路查找树(因此满足左 值<根值<右值的特性),2-3树和2-3-4树都是B树的特例,我们把树中结点最大的孩子数目称为B树的阶。通常记为m。 满足以下规则就是B树: 规则一:m(m>=2)叉查找树中,规定对于任何一个结点,其所有子树的高度都要相同(绝对平衡)。
2-3树也是一种多叉树,与2-3-4树类似,现在在很多应用程序中还在应用,一些用于2-3树的技术会在B-树中应用。 2-3树比2-3-4树少一个数据项和一个子节点。节点可以保存1个或者2个数据项,可以有0个、1个、2个或者3个子节点。其它方面,父节点和子节点的关键字值的排列顺序和2-3-4树是一样的。 24.pn...
3. 2-3-4树的第二实现——1-2-3确定性跳跃表 参见随机算法中的跳跃表及其因素 4. 2-3树的实现——AA树(基于2-3树的右倾红黑树变种) 4.1 AA树的定义与实现 一棵红黑树是满足下面红黑性质的二叉搜索树: 1.每个结点或是红色的,或是黑色的
B 树是一种平衡的多路查找树,2-3 树和 2-3-4 树都是 B 树的特例,结点所拥有的最大孩子树称为 B 树的阶,因此,2-3 树是 3 阶 B 树,2-3-4 树是 4 阶 B 树。 一个m 阶的 B 树具有如下属性: 如果根结点不是叶结点,则至少有两颗子树 ...
2-3-4 树的查找类似了二叉树的查找过程,通过键值的比较来决定遍历方向。 例如在图3.1所示树中查找22: 例如在图 3.1 所示树中查找 15 : 5) 插入 如果2-3-4 树中已存在当前插入的 key ,则插入失败,否则最终一定是在叶子节点中进行插入操作,因为查找过程的结束位置在叶子节点。
(3)每个节点的 key 从左到右保持了从小到大的顺序,两个 key 之间的子树中所有的 key 一定大于它的父节点的左 key ,小于父节点的右 key 。 例如图 3.1 所示的一棵 2-3-4 树: 图3.1 4) 查找 2-3-4 树的查找类似了二叉树的查找过程,通过键值的比较来决定遍历方向。
1)当前节点的父节点是 2- 节点,兄弟节点不为 2- 节点,则将兄弟节点的一个 key 上移成父节点,而父节点下移成子节点,此时树满足 2-3-4 树,完成调整。 (2)当前节点的父节点是 2-节点,兄弟节点也为 2- 节点,则此时将父节点与兄弟节点合并,将合并后的节点看成当前节点,然后重复的判断,即判断合并后的当...