《算法 Algorithms 第四版》2-3查找树学习小结

序言

二叉查找树在插入N个元素后,可能会构造出一个深度为N的查找树,这样的话二叉查找树的查找性能就变得和顺序查找无异了,都是线性级的。

为了维持树的平衡性,我们引入了2-3查找树,对于二叉查找树来说,每个结点只允许有一个键和两个链接,而2-3查找树我们允许一个节点有两个键和三个链接;左链接依然链接的比根节点小的节点,中链接则连接的是介于根结点两个键之间的的节点,右链接依然链接的是比根结点两个键都大的节点。

向2-3查找树中插入新键

向2-结点中插入新键
对于插入的键如果在树中命中则更新键对应的值,如果未命中时结束于2-节点,就把这两个2-节点替换成3-节点

这里是引用

向一颗只含有一个3-节点的树中插入新键
我们将新键和这个3-节点组成一个4-节点,然后选取4-节点的中间键作为根节点,将4节点变成含有3个2-节点高度为2的2-3树

这里是引用

向一个父节点为2-结点的3-结点中插入新键
首先我们将新键和3-结点组成一个4-结点,然后将4-结点的中间键与父结点组成一个3-结点,将4-结点的剩下两个键变成2-结点作为子结点链接到这个3-结点上去。

这里是引用

向一个父结点为3-结点的3-结点中插入新键
首先将3-结点与新键组成一个4-结点,将这个4-结点的中间键与父结点组成新的4-结点然后继续拆分这个4-结点,以此类推直到遇到根节点是2-结点后组成一个不需要分解的3-接单时,结束。

这里是引用

注释:本文引用的图片均来自于《算法 Algorithms 第四版》一书提供的官方网站https://algs4.cs.princeton.edu,若有需要请注明来源!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值