首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

二叉树插入problem.insert()只将新节点放在根节点的子节点中

二叉树插入问题是指向一个已有的二叉树中插入一个新节点的操作。在这个问题中,我们要将新节点放在根节点的子节点中。

答案: 二叉树是一种树状数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树插入操作是向已有的二叉树中添加一个新节点的过程。

对于给定的二叉树,我们可以通过以下步骤将新节点插入到根节点的子节点中:

  1. 首先,判断根节点是否为空。如果为空,说明二叉树为空树,可以直接将新节点作为根节点。
  2. 如果根节点不为空,我们需要判断新节点的值与根节点的值的大小关系。
    • 如果新节点的值小于根节点的值,说明新节点应该插入到根节点的左子树中。
    • 如果新节点的值大于根节点的值,说明新节点应该插入到根节点的右子树中。
  • 根据上述判断结果,我们可以递归地将新节点插入到根节点的相应子树中,直到找到一个合适的位置插入新节点。
  • 插入新节点后,需要更新相应的指针,确保二叉树的结构正确。

二叉树插入操作的时间复杂度为O(log n),其中n是二叉树中节点的数量。插入操作的优势在于可以快速地插入新节点,并且保持二叉树的有序性。

应用场景: 二叉树插入操作在很多领域都有广泛的应用,例如:

  • 数据库索引:在数据库中,可以使用二叉树来实现索引结构,通过插入新节点来维护索引的有序性。
  • 排序算法:一些排序算法,如快速排序和堆排序,都是基于二叉树的插入操作实现的。
  • 文件系统:文件系统中的目录结构可以使用二叉树来表示,通过插入新节点来添加新的文件或目录。

腾讯云相关产品: 腾讯云提供了丰富的云计算产品和服务,其中包括与二叉树插入问题相关的一些产品和服务。以下是一些推荐的腾讯云产品和产品介绍链接地址:

  1. 云数据库 TencentDB:腾讯云的云数据库服务,提供了高性能、可扩展的数据库解决方案,可以用于存储和管理二叉树的节点数据。详细信息请参考:云数据库 TencentDB
  2. 云服务器 CVM:腾讯云的云服务器服务,提供了弹性计算能力,可以用于部署和运行二叉树插入问题的相关应用程序。详细信息请参考:云服务器 CVM

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和情况进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么有红黑树?什么是红黑树?看完这篇你就明白了

2-3树中插入10 然后插入9,9小于10,2-3树在插入时要将9融入10这个叶子节点中(当然也是根节点),融合完成后如下: ? 2-3树中插入9 这是一个3节点,不用执行平衡操作。...2-3树中把有两个元素,三个子节点的节点称为3节点,把有一个元素,两个子节点的的节点称为2节点。 接着插入8,插入8的时候同样要先融入叶子节点中,如下图左侧所示 ?...5融入父节点后,该结点便有了5、7、9三个元素,因而需要继续分裂,元素7成为新的根节点,5和9成为7的左右子节点。 接着插入3,3融入4所在的叶子节点中,不需要进行平衡操作 ?...2-3树到红黑树的改造然后我们将其改造成图3的形式;再将3节点的位于中间的子节点的父节点设置为父节点中那个红色的节点,如图4的所示;最后我们将图4的形式改为二叉树的样子,如图5所示。...2-3树中存在2节点和3节点,3节点中左侧的元素便是红色节点,而其他的节点便是黑色节点。 性质2:根节点是黑色。

4.8K20

数据结构与算法:二叉树的增删改查

重点之处在于其对节点中元素大小的排列: 对于任一节点,其左子树中任一节点的值都必须小于当前节点的值,其右子树中任一节点的值都必须大于当前节点的值。...在了解二叉查找树的特点之后,我们用一个例子来体验一下二叉查找树的搜索效率: 假设我们需要找到数字65,判断思路很简单:从根节点开始,当前数字若小于节点中数字则向左寻找,反之若大于节点中数字则向右寻找。...: 1、需要删除的目标节点无子节点,直接删除即可 2、需要删除的目标节点只有一个子节点,直接将子节点指向父节点即可 3、需要删除的目标节点有两个子节点,则将右测数值大的节点上移,维持查找二叉树的数字排列规则...4、需要删除的目标节点有多级子节点,我们需要从目标节点的右侧所有子节点中寻找到最小的,然后将其替换至目标节点位置。...其实不管怎么操作,最终的目的都是要保证操作之后的查找二叉树满足查找二叉树的排列规则对于任一节点,其左子树中任一节点的值都必须小于当前节点的值,其右子树中任一节点的值都必须大于当前节点的值。

67620
  • TreeMap数据结构之排序二叉树

    重复12两个步骤,直到新的当前节点为空,则此地方就是添加节点的地方。 三.排序二叉树删除节点 被删除的节点是叶子节点,只需将它从其父节点中删除即可。...(见图3.2) 四.排序二叉树检索节点 以根节点当前节点开始检索,拿被检索的节点的值和当前节点的值比较。 如果被检索的节点的值更小,则以当前节点的左子节点作为新的当前节点。...五.红黑树插入节点后的修复 插入操作按如下步骤进行: 以排序二叉树的方法插入新节点,并将它设为红色。...而且因为新节点 N 有两个黑色叶子节 点;但是由于新节点 N 是红色,通过它的每个子节点的路径依然保持相同的黑色节点数,因此依然满足 性质 5。...由于以前的节点 G 是黑色,否则父节点 P 就不可能是红色,我们切换以前的父节 点 P 和节点 G 的颜色,使之满足性质 4,性质 5 也仍然保持满足,因为通过这三个节点中任何一个的 所有路径以前都通过节点

    55430

    整理得吐血了,二叉树、红黑树、B&B+树超齐全,快速搞定数据结构

    ,只需改变节点中的指针指向 缺点:存储空间利用率低,需通过指针维护节点间的逻辑关系;查找效率比顺序存储慢 度:当前节点下的子节点个数 二叉树 二叉树是每个节点最多有两个子树的树结构,左侧子树节点称为...AVL树的特点 具有二叉查找树的特点(左子树任一节点小于父节点,右子树任一节点大于父节点),任何一个节点的左子树与右子树都是平衡二叉树 任一节点的左右子树高度差小于1,即平衡因子为范围为[-1,1] 如上左图根节点平衡因子...插入步骤: 将新节点n根据BST规则插入,且新使节点颜色为红色 根据n的父节点p情况执行不同的操作 2.1 n没有父节点p,即N为根,将n的颜色更改为黑色 2.2 p为黑色,直接插入 2.3 p为红色,...image 插入 设B树的阶为m,则插入流程如下: 如果树为空,则创建一个具有新键值的新节点,并将其作为根节点插入到树中,结束插入流程。...112成为新的根节点,小于112的key作为112根节点的左子节点,大于112的key作为112根节点的右子节点,原插入节点位置的水平子树成为根节点左右子节点的子节点 删除 B树的删除比插入要复杂得多,

    3.1K21

    【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)

    在森林中,每棵树都是独立的,具有根节点和子树,树与树之间没有直接的连接关系。   森林是树的扩展概念,它是由多个树组成的集合。...每个结点最多有两个子结点,分别称为左子结点和右子结点。 2. 特点   二叉树的特点是每个结点最多有两个子结点,并且子结点的位置是有序的,即左子结点在前,右子结点在后。...完全二叉树   定义5.4:一棵包含 n 个节点、高度为 k 的二叉树 T ,当按层次顺序编号 T 的所有节点,对应于一棵高度为 k 的满二叉树中编号由1至 n 的那些节点时, T 被称为完全二叉树(complete...tree->data[i + 1] = tree->data[i]; } // 插入新结点 tree->data[index] = value; tree->size+...+; } // 获取结点的父节点编号 int getParentIndex(int index) { return (index - 1) / 2; } // 获取结点的左子节点编号 int

    25110

    Java数据结构和算法(十二)——2-3-4树

    树结构中很重要的一点就是节点之间关键字值大小的关系。在二叉树中,所有关键字值比某个节点值小的节点都在这个节点左子节点为根的子树上;所有关键字值比某个节点值大的节点都在这个节点右子节点为根的子树上。...①、当插入没有满数据项的节点时是很简单的,找到合适的位置,只需要把新数据项插入就可以了,插入可能会涉及到在一个节点中移动一个或其他两个数据项,这样在新的数据项插入后关键字值仍保持正确的顺序。...2、根的分裂   如果一开始查找插入节点时就碰到满的根节点,那么插入过程更复杂:   ①、创建新的根节点,它是要分裂节点的父节点。   ...②、创建第二个新的节点,它是要分裂节点的兄弟节点;   ③、数据项C移到新的兄弟节点中;   ④、数据项B移到新的根节点中;   ⑤、数据项A保留在原来的位置;   ⑥、要分裂节点最右边的两个子节点断开连接...,连到新的兄弟节点中。

    1.3K70

    Java数据结构与算法解析——2-3树

    和二叉树不一样,2-3树运行每个节点保存1个或者两个的值。对于普通的2节点(2-node),他保存1个key和左右两个自己点。...插入 对于2-3树的插入操作一般分为以下几种情况: 1.往一个2-node节点插入新键。(树的初始态) 2.向一棵只含有一个3-节点的树中插入新键。...(树的初始态) 3.向一个父节点为2-节点的3-节点中插入新键。(子树的分裂1) 4.向一个父节点为3-节点的3-节点中插入新建。(子树的分类2) 5.分解根节点。...操作2:父节点:2-节点,子节点:3-节点和第一种情况一样,我们也可以将新的元素插入到3-node节点中,使其成为一个临时的4-node节点,然后,将该节点中的中间元素提升到父节点即2-node节点中,...根节点分裂当根节点到子节点都是3-node节点的时候,这是如果我们要在字节点插入新的元素的时候,会一直查分到跟节点,在最后一步的时候,跟节点变成了一个4-node节点,这个时候,就需要将跟节点查分为两个

    1.2K70

    手写一个简单的Database7(译文)

    根节点最开始也作为叶子节点,有0个键值对(key/value): 空的btree 如果我们插入两个键值对(超过两个键值对,节点需要分裂,参考上面规则),他们会按顺序排序存放在叶子节点中。...分裂后的两个节点都变成了内部节点,同时也变成了一个新的节点的子节点,这个新的节点变成了根节点。 两层的btree 图中的内部节点(也是根节点)有一个key和两个指针指向子节点(就是那两条线)。...这个节点是满的,所以把这个叶子节点进行分裂(split),并在父节点创建新的条目。 四节点的btree 现在继续增加key,18 和 21 。...现在又到了不得不分裂的情况,但是在父节点中已经没有空间来增加新的键值对儿了。 内部节点没有空间 解决方法就是分裂根节点为两个内部节点,然后创建一个新的根节点作为两个内部节点的父节点。...节点中的子节点指针将简单的使用包含子节点的page number。 下一次,我们开始实现btree。

    24220

    数据结构 之 优先级队列(堆) (PriorityQueue)

    堆的分类: 堆在逻辑上是一颗完全二叉树,但是堆的实现却是由数组实现的,我们是将这颗完全二叉树按照层序遍历的方式存放在数组中的; 堆分为两种: 2.1 大根堆: 大根堆是指根节点的值最大,左右子节点的值都小于根节点的完全二叉树按照层序遍历的方式存放到数组中的一个堆结构...; 要想真正的了解堆这个结构,我们不妨从绘图开始理解: 首先我们试着画一个完全二叉树: 将上图的完全二叉树按照层序遍历的方式存放在数组中,如上图,就是一个大根堆; 我们会发现,在上图中的完全二叉树中,根节点...25 的值是最大的,根节点25的左右节点的值都比25要小,同时,我们会发现 ,20节点和17节点的左右节点的值同样小于根节点的值; 这就是大根堆的特性; 2.2 小根堆: 小根堆和大根堆则相反,根节点的值要小于左右节点的值...,依次和子节点比较大小,若需要互换,则进行调整,直到双亲节点的下标为0为止; 如图,就是依次将值为5的节点和值为22的节点, 值为15的节点中的最大值比较,若需要交换则进行调整,一直从值为5的节点调整到值为...,例如在已经创建完成的堆中插入一个元素,一般是先将该元素放在数组的最后,然后依次将其和双亲节点进行大小比较,直到孩子节点的下标为0或者不需要和双亲节点进行交换为止,如图所示: 在这样一个小根堆中,我们插入一个元素

    27910

    Java数据结构与算法解析(十)——2-3树

    和二叉树不一样,2-3树运行每个节点保存1个或者两个的值。对于普通的2节点(2-node),他保存1个key和左右两个自己点。...查找过程如下图: 插入 对于2-3树的插入操作一般分为以下几种情况: 1.往一个2-node节点插入新键。(树的初始态) 2.向一棵只含有一个3-节点的树中插入新键。...(树的初始态) 3.向一个父节点为2-节点的3-节点中插入新键。(子树的分裂1) 4.向一个父节点为3-节点的3-节点中插入新建。(子树的分类2) 5.分解根节点。...操作2:父节点:2-节点,子节点:3-节点 和第一种情况一样,我们也可以将新的元素插入到3-node节点中,使其成为一个临时的4-node节点,然后,将该节点中的中间元素提升到父节点即2-node...根节点分裂 当根节点到子节点都是3-node节点的时候,这是如果我们要在字节点插入新的元素的时候,会一直查分到跟节点,在最后一步的时候,跟节点变成了一个4-node节点,这个时候,就需要将跟节点查分为两个

    38410

    《一文说透数据结构》系列之什么是堆?看这一篇就够了

    如下图所示,左侧的二叉树满足完全二叉树的定义,而右侧的不满足。 ? 左侧为完全二叉树,右侧的不是 上图左侧便是一个小根堆,满足任意一个节点的值总是不小于其父节点的值。...堆的表示 一般的二叉树表示时需要首先定义节点结构,节点中包含指向父节点的指针,如下所示: class Node{ E e;//节点储存的值 Node left,right...堆的插入操作 如上图1所示,在小根堆中插入元素0,首先将元素放置在二叉树最后一行的末尾,此时依然是完全二叉树;然后将该元素与父节点的值比较,若改节点的值小于父节点,则进行交换,如图3所示;之后再次与父节点进行对比交换...然后将堆中最后一个元素填充至根节点的位置,如图3所示;之后比较该节点与左右子节点,若该节点大于左右子节点中较小的节点的值,则与该节点进行交换(小根堆中父节点永远与左右子节点中较小的那个子节点交换),如图...data.length) throw new Exception("堆已满"); else{ data[size] = value;//将新插入的元素放在堆的末尾

    47710

    当Kotlin遇见数据结构丨数据结构之树结构概述(含满二叉树、完全二叉树、平衡二叉树、二叉搜索树、红黑树、B-树、B+树、B*树)

    二叉树(Binary Tree) 任何一个节点的子节点数量不超过2(子节点分为左节点与右节点)。 ? 2.1 满二叉树(Full Binary Tree) 所有叶子结点都在最后一层。...最后一层的叶子结点在左边连续,倒数第二节的叶子结点在右侧连续。 ? 2.3 平衡二叉树(Balanced Binary Tree) 也叫 AVL 树。...每个红色节点必须有两个黑色的子节点(从每个叶子到根的所有路径上不能有两个连续的红色节点)。 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。 ? ---- 3....B+树的分裂:当一个结点满时,分配一个新的结点,并将原结点中1/2的数据复制到新结点,最后在父结点中增加新结点的指针;B+树的分裂只影响原结点和父结点,而不会影响兄弟结点,所以它不需要指向兄弟的指针。...B*树的分裂:当一个结点满时,如果它的下一个兄弟结点未满,那么将一部分数据移到兄弟结点中,再在原结点插入关键字,最后修改父结点中兄弟结点的关键字(因为兄弟结点的关键字范围改变了);如果兄弟也满了,则在原结点与兄弟结点之间增加新结点

    1.1K40

    MySQL索引底层:B+树详解(修正版)

    树是包含n(n为整数,大于0)个结点, n-1条边的有穷集,它有以下特点: ❝ 每个结点或者无子结点或者只有有限个子结点; 有一个特殊的结点,它没有父结点,称为根结点; 每一个非根节点有且只有一个父节点...按照有序性,可以分为有序树和无序树: ❝ 无序树:树中任意节点的子结点之间没有顺序关系 有序树:树中任意节点的子结点之间有顺序关系 ❞ 按照节点包含子树个数,可以分为B树和二叉树,二叉树可以分为以下几种...红黑树:红黑树是一颗特殊的二叉查找树,每个节点都是黑色或者红色,根节点、叶子节点是黑色。如果一个节点是红色的,则它的子节点必须是黑色的。...3.如果插入关键字后,叶子节点当前含有的关键字数目等于阶数m,则插,该节点开始「分裂」为两个新的节点,一个节点包含⌊m/2⌋ 个关键字,另外一个关键字包含⌈m/2⌉个关键值。...我们假设主键ID为bigint类型,长度为8字节,而指针大小在InnoDB源码中设置为6字节,所以就是8+6=14字节,16k/14B =16*1024B/14B = 1170 因此,一棵高度为2的B+

    80720

    BTree实现原理

    下图是一个度为3的BTree,除了叶子节点,每个节点的子树个数不是2个就是3个,0004节点的子树有2个,0047|0051节点的子树有3个。...具体算法流程如下: 根据要插入的key的值,在BTree查找key存不存,如果已存在,用新的value覆盖旧的value,操作结束 如果流程1中,没有找到key,则定位到要插入的叶子节点并插入 判断2中刚插入节点...向BTree中插入48,添加48到43|51所在的节点后,此时该节点不满足BTree性质,对其进行拆分,将中间的48加入到父节点(38所在的节点),43|48|51节点中的key被分成43和51两部分,...向BTree中插入1 向BTree中插入10,此时1|4|10节点不满足BTree性质,需要进行分裂,将4插入到父节点中,插入之后,父节点4|30|48也不满足BTree性质,继续对其进行分裂。...所以BTree中查找元素的过程很简单,从根节点开始,每次可以定位可能所在的1个子节点,这样一路向下查询,如果在内部节点中没有找到,最后达到叶子节点,如果叶子节点也没有,则说明要查询的元素不在BTree中

    1.5K30

    MySQL索引底层:B+树详解(修正版)

    一颗普通的树如下: 树是包含n(n为整数,大于0)个结点, n-1条边的有穷集,它有以下特点: ❝ 每个结点或者无子结点或者只有有限个子结点; 有一个特殊的结点,它没有父结点,称为根结点; 每一个非根节点有且只有一个父节点...: ❝ 无序树:树中任意节点的子结点之间没有顺序关系 有序树:树中任意节点的子结点之间有顺序关系 ❞ 按照节点包含子树个数,可以分为B树和二叉树,二叉树可以分为以下几种: ❝ 二叉树:每个节点最多含有两个子树的树称为二叉树...红黑树:红黑树是一颗特殊的二叉查找树,每个节点都是黑色或者红色,根节点、叶子节点是黑色。如果一个节点是红色的,则它的子节点必须是黑色的。...3.如果插入关键字后,叶子节点当前含有的关键字数目等于阶数m,则插,该节点开始「分裂」为两个新的节点,一个节点包含⌊m/2⌋ 个关键字,另外一个关键字包含⌈m/2⌉个关键值。...我们假设主键ID为bigint类型,长度为8字节,而指针大小在InnoDB源码中设置为6字节,所以就是8+6=14字节,16k/14B =16*1024B/14B = 1170 因此,一棵高度为2的B+

    88260

    MySQL索引底层:B+树详解

    树是包含n(n为整数,大于0)个结点, n-1条边的有穷集,它有以下特点: 每个结点或者无子结点或者只有有限个子结点; 有一个特殊的结点,它没有父结点,称为根结点; 每一个非根节点有且只有一个父节点;...按照有序性,可以分为有序树和无序树: 无序树:树中任意节点的子结点之间没有顺序关系 有序树:树中任意节点的子结点之间有顺序关系 按照节点包含子树个数,可以分为B树和二叉树,二叉树可以分为以下几种:...红黑树:红黑树是一颗特殊的二叉查找树,每个节点都是黑色或者红色,根节点、叶子节点是黑色。如果一个节点是红色的,则它的子节点必须是黑色的。...3.如果插入关键字后,叶子节点当前含有的关键字数目等于阶数m,则插,该节点开始「分裂」为两个新的节点,一个节点包含⌊m/2⌋ 个关键字,另外一个关键字包含⌈m/2⌉个关键值。...我们假设主键ID为bigint类型,长度为8字节,而指针大小在InnoDB源码中设置为6字节,所以就是8+6=14字节,16k/14B =16*1024B/14B = 1170 因此,一棵高度为2的B+

    73800

    【数据结构】简单认识:堆

    如何用数组表示完全二叉树: 根节点存放在数组起始处,为方便子节点找到父节点,起始处下标为1 找寻父节点:某节点下标为 i ,其父节点下标就为 i / 2。...最大堆( a ),最小堆( b ) 示例: 3.堆的操作原理 (以最大堆为例) ①堆的插入原理 向最大堆插入新元素后,需要保证的是: —堆依旧是一颗完全二叉树; —堆中各节点与其子节点的关系依旧符合最大堆性质...首先,在数组末尾插入新元素,若新节点值 节点值,说明位于正确位置。...在数组末尾插入新元素时,若新节点值 > 父节点值,需要交换位置,直到比父节点小或没有父节点(抵达根节点),才是抵达正确位置。...(实际上删除的节点元素在数组中依旧存在,但是代表最大堆所含节点数的MaxHeap会减去1,代表删除了最后一个节点) 完成删除操作后,需要在根节点的左、右子结点中取较大的一个与根节点做比较,根节点小于子节点则与其交换位置

    1.2K20

    红黑树硬核讲解

    2.3 插入 要在2-3树中插入一个新结点,我们可以和二叉查找树一样先进行一次未命中的查找,然后把新结点挂在树的底部。但这样的话树无法保持完美平衡性。...只有一个3结点的树,向其插入一个新数据:此时我们可以创建个临时4节点,然后将其转化为由3个2节点组成的2-3树 只有3节点树插入数据 向一个父结点为2结点的3结点中插入新键:此时先将组成个临时4节点...插入25 向一个父结点为3结点的3结点中插入新键4:跟上面套路类似,不断将中位数的数据往上提,直到遇到个2节点,或者到达了根节点然后进行拆分。...想办法让这个被删除的元素不可能出现在2节点中。如果发现删除元素树2节点则会从兄弟节点或父节点借个元素,当前2节点变为3节点或临时4节点,然后再删除目标数据。...根节点必须是黑色:2-3树中如果根节点树2节点那本来就是黑色,如果是3节点就用大的当黑根节点,小的当左倾红节点。 叶子节点为不存数据且都是黑色:主要是为了在插入跟删除时候方便操作。

    50830

    「数据结构与算法Javascript描述」二叉树

    我们定义树的层数就是树的深度。 2. 二叉树 正如前面提到的那样,二叉树每个节点的子节点不允许超过两个。通过将子节点的个数限定为 2,可以写出高效的程序在树中插入、查找和删除数据。...二叉搜索树是一种特殊的二叉树,相对较小的值保存在左节点中,较大的值保存在右节点中。这一特性使得查找的效率很高,对于数值型和非数值型的数据,比如单词和字符串,都是如此。下面我们来介绍一下二叉树的实现。...其次检查 BST 是否有根节点,如果没有,那么这是棵新树,该节点就是根节点,这个方法到此也就完成了;否则,进入下一步。 如果待插入节点不是根节点,那么就需要准备遍历 BST,找到插入的适当位置。...用一个变量存储当前节点,一层层地遍历 BST。 进入 BST 以后,下一步就要决定将节点放在哪个地方。找到正确的插入点时,会跳出循环。查找正确插入点的算法如下: 设根节点为当前节点。...如果待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点;反 之,执行第 4 步。 如果当前节点的左节点为 null,就将新的节点插入这个位置,退出循环;反之,继续执行下一次循环。

    54720

    数据结构与算法——2-3树

    2-3 树本质也是一种平衡搜索树,但 2-3 树已经不是一棵二叉树了,因为 2-3 树允许存在 3 这种节点,3- 节点中可以存放两个元素,并且可以有三个子节点。...对于非空树插入主要分为 4 种情况: (1)向 2- 节点中插入新节点 (2)向一棵只含 3- 节点的树中插入新节点 (3)向一个父节点为 2- 节点的 3- 节点中插入新节点 (4)向一个父节点为 3...- 节点的 3- 节点中插入新节点 向2-节点中插入新节点 操作步骤:如果未命中查找结束于一个 2-节点,直接将 2- 节点替换为一个 3- 节点,并将要插入的键保存在其中。...img 向一个父节点为3-节点的3-节点中插入新节点 操作步骤:插入节点后一直向上分解构造的临时4-节点并将中键移动到更高层双亲节点,直到遇到一个-2节点并将其替换为一个不需要继续分解的3-节点,或是到达树根...img 2-3树为满二叉树,删除叶子节点 操作步骤:若2-3树是一颗满二叉树,将2-3树层树减少,并将当前删除节点的兄弟节点合并到父节点中,同时将父节点的所有兄弟节点合并到父节点的父节点中,如果生成了4

    66510
    领券