2-3树的删除
来源:互联网 发布:大数据存储硬件方案 编辑:程序博客网 时间:2024/05/21 19:12
2-3树所有叶子都在同一个层次,也就是说每一层的叶子数目都是相等的,如图1:
1.删除的元素是叶子节点并且含有两个元素,比如删除6,直接删除即可,如图2:
2.删除的元素是叶子节点并且只有1个元素的话,但是父节点的右节点函数含有两个元素,可以进行左旋转,为什么要左旋转呢,因为左边失去了平衡了,举例:删除图1的元素1的话,(6,7)进行左旋转,6的右节点保持,6的左节点等于4,如图3,4:
图3
图4:
3.删除的元素是叶子节点,但是父节点的右节点只有一个元素,此时左选择无法满足要求,那么就得找一下父节点的父节点的直接后继(中序遍历),以图4为例,删除4结点,则8的直接后继是(9,10),此时8的直接后继可以进行拆分,则9代替了8,然后6结点进行左旋转,看图:
图5:
图6:
4.如果删除的叶子节点的父结点是两个元素的话并且父节点的左右的左结点还可以插入的话,举例:图6删除10结点,删除后第2层有7一个叶子节点和(12,14)这两个结点,此时不满足要求,那么我们可以将(12,14)结点分裂并且结合到13的结点去,看图:
图7:
图8:
5.如果删除的是满二叉树的情况,则情况比较复杂,图9的8结点需要删除的,直接看图:
图9:
6.删除的是非叶子节点并且只有一个元素的情况下,举例:删除图10的4结点,直接上图:
图10
7.删除的是非叶子节点并且只有两个元素的情况下,举例:删除图11的12结点,直接上图:
图11:
2 0
- 2-3树的删除
- 红黑树,2-3-4树的删除
- 3、B-树的删除
- 2-3树删除和插入操作的小结
- 2-3查找树的插入与删除
- BST树的删除
- 二叉树的删除
- AVL树的删除
- 5-8 二分搜索树的删除,删除一个节点的步骤2
- 2-3树插入、删除操作
- 删除二叉树的节点
- AVL树的删除探讨
- 算法--AVL树的删除
- 二叉树的删除原代码
- 二叉查找树的删除
- 排序树的删除节点
- B树的删除操作
- 平衡二叉树的删除
- 分享DCT, DST, Walsh, Hadamard , Haar和Slant图像处理程序
- 悬浮控件
- servlet配置load-on-startup的作用
- Activity、Broadcast、Service
- 基于ViewPagerIndicator的UnderlinePageIndicator,ViewPager选项卡底部滑块衬线滑动控件
- 2-3树的删除
- strtok、strtok_s、strtok_r 字符串分割函数
- Qualcomm平台camera调试移植入门
- MySQL字符串函数substring:字符串截取
- 第四周 项目2-分数类的雏形(1)
- 烟台大学—贺利坚的计算机课程教学链接
- 【c语言】不用库函数实现memcpy
- Arduino可穿戴开发入门教程(大学霸内部资料)
- 可信计算机系统相关概念解释【GB17859 + CC】