AA树,2-3树二叉化

本文介绍了AA树,一种红黑树的变种,来源于2-3树的二叉形式。阐述了AA树的定义、性质,并通过样例详细解析了插入操作的过程,包括各种情况的调整修复,如Case 1、Case 1'、Case 1''、Case 2等。同时提到了删除操作,虽然未详述,但表明会进一步完善。
摘要由CSDN通过智能技术生成

AA树,红黑树的变种
CLRS(算法导论)上对RBT(红黑树,red-black tree)的讲解相当好;
我这里只能东施效颦,解释一下红黑树的变种,AA树;
正如RBT是由2-3-4树演化而来,AA树是2-3树的二叉形式;
给出AA树的定义:
1. AA树是一颗维护了结点颜色(黑高)的二叉搜索树;
2. 任意一叶结点(T.nil,哨兵)到根结点路径上黑结点个数相同(黑高相等,平衡原理);
3. 根结点为黑,叶结点(T.nil,哨兵)颜色为黑;
4. 红结点两子结点颜色为黑(子结点可能为叶结点);
5. 红结点不得作为黑结点左子结点(与RBT不同);
给出一个AA树样例:
AA树样例
为了分析方便,我们把样例转化为类2-3树形式,以便分析:
AA树2-3化
网上介绍AA树大部分都是维护了结点的黑高;
我这里沿用RBT的形式,维护结点的颜色;
AA树中的搜索很显然,与普通二叉搜索树一样;
下面给出两个大头:插入与删除;
插入:
参考CLRS,给出伪代码:

Inset(T,t)
    y=T.nil
    x=T.root
    while x≠T.nil
        y=x
        if t.key<x.key
            x=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值