2-3树是平衡的3路查找树,其中2(2-node)是指拥有两个分支的节点,3(3-node)是指拥有三个分支的节点。B-树是一种平衡的多路查找树,2-3树属于b-树,其也同样具有B-树的性质,如m阶B-树,节点至多有m个分支、m-1个关键字;内部节点的分支数至少为m/2取上限;所有叶节点都出现在同一层次上,并且不带任何信...
3-结点插入:3结点插入比较麻烦,emm可以说是特别麻烦,它分为3种情况。 向一棵只含有3-结点的树插入新键。 假如2-3树只有一个3-结点,那么当我们插入一个新的结点的时候,我们先假设结点变成了4-结点,然后使得中间的结点为根结点,左边的结点为其左结点,右边的结点为其右结点,然后构成一棵2-3树,树的高度加1。
一棵2-3查找树或为一颗空树,或由以下节点组成: 1)2-节点:含有一个键和两条链接,左链接指向的2-3树中的键都小于该节点,右链接指向的2-3树中的键都大于该节点。 2)3-节点:含有两个键和三条链接,左链接指向的2-3树中的键都小于该节点,中链接指向的2-3树中的键都位于该节点的两个键之间,右链接指向...
如果直接插入该节点,那么还要进行子节点的增加,因为在2-3-4树中节点的子节点个数要比数据项多1;如果插入的节点满了,那么就要进行节点分裂。下图是一系列插入过程,有4个节点分裂了,两个是根,两个是叶节点: 4、完整源码实现 分为节点类Node,表示每个节点的数据项类DataItem,以及最后的2-3-4树类Tree234.class ...
红黑二叉查找树实际上基于二叉查找树上实现了2-3树,也就是说红黑二叉查找树是一个2-3树。所以在认识红黑二叉查找树之前,我们得了解2-3树的原理,以及组成结构。 2-3树 我们把含有一个键,两个链接的结点称为2-结点,标准的二叉查找树其每个结点都是2-结点,在考虑好的情况下,我们构造标准二叉查找树,一般能够得...
2-3-4树名字中的2、3和4的含义是指~个节点可能含有的子节点的个数。对非叶节点有三种 可能的情况: 有一个数据项的节点总是有两个子节点。 有两个数据项的节点总是有三个子节点。 有三个数据项的节点总是有四个子节点。 简而言之,非叶节点的子节点数总是比它含有的数据项多1。或者,用符号表示这个规...
红黑树是一种特殊的B树是B树种2-3-4树的一种特殊实现,红黑树保证了每个节点只会有两个子节点,通过对每个节点进行染色,然后通过不同颜色的节点组合来分别代表2-3-4的2节点、3节点、4节点树的情况。在学习红黑树之前,我们需要先去了解2-3-4树。
三. 2-3树 经过上面的例子,我们可以知道,构建一棵平衡的二叉搜索树的关键在于选取“正确”的根节点,那么我们如何在每次构建平衡二叉搜索树时都能选取合适的根节点呢,这里就要用到另一种重要的树:2-3树(读作二三树),2-3树和红黑树是等价的,理解2-3树对理解红黑树以及B类树都有很大的帮助。
把连接红色节点的线拉平,使红色节点与父节点平级,就是 2-3-4树了。 这一点我记得红书有讲到,可以看看。 有用 回复 wuyuyang381: 什么红书? 回复2021-06-21 Clarence: @wuyuyang381 [算法](https://baike.baidu.com/item/...) 回复2021-06-22 ...