学习笔记:数据结构与算法(二十):多路查找树

学习笔记:数据结构与算法(二十):多路查找树

定义

多路查找树的特点是其每一个结点的孩子数可以多于两个,且每个结点处可以存储多个元素。所有元素之间存在某种特定的关系。

2-3树

多路查找树中每一个结点都具有两个孩子或者三个孩子称为2-3树。
在这里插入图片描述

2-3树的插入原理

插入1,正常。
插入5,需要拆分6.7
插入11,需要拆分9.10

如果所有的树都是三个节点,那么就需要再深一层
在这里插入图片描述
现在插入2,需要增加深度
在这里插入图片描述

2-3树的删除原理

情况1:如果删除一个双亲是二节点的但是孩子是三个,比如删除1,调整4,6,7的位置。
在这里插入图片描述

情况2:删除一个双亲是二节点但是孩子是两个,比如删除4,(这里引用一个知识点:根结点的左孩子的最右一个孩子是根结点的直接前驱,同理,直接后继是右孩子的最左孩子。)所以把根结点,直接前驱和后继调整位置。
在这里插入图片描述
情况3:叶子结点是二节点,双亲是三节点的情况,例如删除10。把双亲变成二节点,调整11,13
在这里插入图片描述
情况4:删除一棵满二叉树的情况,例如下面这种情况:
在这里插入图片描述
此时如果删除8,所有的二节点不能拆分的情况下,缩小一层深度。
在这里插入图片描述
情况5:删除双亲的情况,例如删除4和12。调整6.7和9.10
在这里插入图片描述
删除后
![描述](https://img-blog.csdnimg.cn/20210419152006943.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlbGVsZXdlaQ==,size_16,color_FFFFFF,t_70)

2-3-4树

要求,构建数组{7,1,2,5,6,9,8,4,3}
在这里插入图片描述

B树

B树,一种平衡的多路查找树,2-3树和2-3-4树都是B树的特例。

结点最大的孩子树数目称为B树的阶,因此,2-3树是3阶B树,2-3-4树是4阶B树。

一个m阶的B树具有如下属性

  • 如果根结点不是叶结点,则其至少有两棵子树。
  • 每一个非根的分支都有k-1个元素(关键字)和k个孩子,其中k满足m/2(向上取整)<= k <= m
  • 所有叶子节点处于同一个层次
  • 每一个分支结点包含下列信息数据
    n,A0,K1,A1,K2,A2,K3
    (K是关键字,Ki<Ki+1,Ai指向子树根结点的指针)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值