之所以介绍 2-3-4 树是因为 2-3-4 树与极为重要的红黑树有着等价关系,通过先学习2-3-4 树为后面学习红黑树打下基础,增进对于红黑树的理解。 2) 2-3-4树 2-3 树不再是单纯的二叉树了,因为 2-3 树中除了 2- 节点之外还存在 3- 节点。在 2-3 树的基础上进一步扩展, 2-3-4 树在 2-3 树的基础上添加 4- 节点。4-
2-3-4树是多叉树,而红黑树是二叉树,看上去可能完全不同,但是,在某种意义上它们又是完全相同的,一个可以通过应用一些简单的规则变成另一个,而且使他们保持平衡的操作也是一样,数学上称他们为同构。 ①、对应规则 应用如下三条规则可以将2-3-4树转化为红黑树: 一、把2-3-4树中的每个2-节点转化为红-黑树...
2-3-4树就是一种4阶的多叉树,它像红黑树一样是平衡树,可以保证在O(lgn)的时间内完成查找、插入和删除操作,容易实现,但是效率比红黑树稍差。 2-3-4树每个节点最多有四个字节点和三个数据项,名字中 2,3,4 的数字含义是指一个节点可能含有的子节点的个数。对于非叶节点有三种可能的情况: 有一个数据项...
动画| 什么是2-3-4树? 画了一系列树的动画,从二分搜索树,到AVL树,再到2-3树,再到基于2-3树的红黑树,都可以发现这些树都跟二叉查找树很像啊。 嘿嘿!二分搜索树就是二叉查找树;AVL树也是一颗二分搜索树,只多了高度差的限制;2-3树虽满足二分搜索树的性质,但不是一颗二分搜索树,2-3树由2-节点和3...
2-3-4树 二、添加数据 234树添加数据,有两种情况。 第一种:添加数据的节点的数据个数小于3个直接添加。 第二种:添加数据的节点的数据个数等于3个,需要将节点的3个数据分成3个234树节点,中间的数据成为左右两边数据的双亲节点,然后根据添加数据的大小加到左右两边的子节点中。 这种向上分裂添加数据的有点在于能...
红黑树的本质是2-3-4树,所以我们先掌握了2-3-4树,那么红黑树就非常容易了。本文重点来介绍2-3-4树。 2-3-4树 1 概念介绍 2-3-4树是四阶的 B树(Balance Tree),他属于一种多路查找树,它的结构有以下限制: 所有叶子节点都拥有相同的深度。 节点只能是 2-节点、3-节点、4-节点之...
下面是 2-3-4 树插入的例子。 首先插入值 。从根节点 开始查找,找到包括 的区间 ,进入右子节点 。 由于节点() 是一个 4 节点,先将 插入形成暂时的5 节点。 由于() 超出了 4 节点,需要将第二个元素上溢。即将 与父节点合并形成 。 然后插入 ...
Q1: 什么是2-3-4树? A1:在介绍2-3-4树之前,我们先说明二叉树和多叉树的概念。 二叉树:每个节点有一个数据项,最多有两个子节点。 多叉树:(multiway tree)允许每个节点有更多的数据项和更多的子节点。在多叉树中,节点的数据项是按关键字升序排列。
2-3-4 树其实就是 2-3 树的概念扩展,它多了一个 4 结点。一个 4 结点包含小中大三个元素和四个孩子(或没有孩子),左子树包含小于最小元素的元素;第二子树包含大于最小元素,小于第二元素的元素;第三子树包含大于第二元素,小于最大元素的元素;右子树包含大于最大元素的元素。B 树和 B+ 树 B ...