数据结构(四)——平衡查找树

1.1 2-3查找树

一棵2-3查找树或为一个空树,或由以下节点组成:

2-节点,含有一个键(及其对应的值)和两条链接,左链接指向的2-3树中的键都小于该节点,右链接指向2-3树中的键都大于该节点。

3-节点,含有两个键(及其对应的值)和三条链接,左链接指向2-3树中的键都小于该节点,中链接指向的键都在两键之间,右链接指向的键都大于该节点。

一棵完美平衡的二叉查找树中的所有空链接到该节点的距离都应该是相同的。

1.1.1 查找

与二叉树类似。

1.1.2 向2-节点中插入

先进行一次未命中的查找,如果未命中的查找结束于2-节点,只要把它变成一个3-节点,将插入的键保存其中即可。如果结束与一个3-节点,则比较复杂,下面再讨论。

1.1.3 向仅有3-节点中插入

如上所述,它最后走到一个3-节点。这个节点中有两个键,所以在此节点中已经没有可插入新建的空间了。为了将新建插入,先临时将新键存入该节点中,使之成为一个4-节点。它很自然地扩展了以前的节点并含有3个键和4条链接。而且很容易地转换成由3个2-节点组成的2-3树,其中一个点(根)含有中键,一个节点含有3个键中的最小者(与根节点的左链接相连),一个节点含有3个键中的最大者(与跟节点的右链接相连)。这棵树既是一棵含有3个结点的二叉查找树,同时也是一棵完美平衡的二叉树,因为其中所有的空链接到根节点的距离都相等。插入前树的高端为0,插入后的树的高度为1。这个例子说明了2-3树是如何生长的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值