2-3查找树总结

来源:互联网 发布:2016网络理财排行榜 编辑:程序博客网 时间:2024/06/16 20:47

1. 2-3查找树定义

解析:一棵2-3查找树或为一棵空树,或由以下结点组成:

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

树中的键都大于该结点。

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

树中的键都位于该结点的两个键之间,右链接指向的2-3树中的键都大于该结点。

说明:指向一棵空树的链接称为空链接。


2. 结点插入

(1)向2-结点中插入新键

在2-3树中插入一个新结点,可以和二叉查找树一样先进行一次未命中的查找,然后把新结点挂载树的底部。如果未

命中的查找结束于一个2-结点,那么只要把这个2-结点替换为一个3-结点,将要插入的键保存在其中即可。

(2)向3-结点中插入新键

第一种情况:向一个父结点为2-结点的3-结点中插入新键,如下所示:


第二种情况:向一个父结点为3-结点的3-结点中插入新键,如下所示:


(3)分解根结点



3. 分解4-结点情况总结



4. 结点查找

解析:要判断一个键是否在树中,先将它和根结点中的键比较。如果它和其中任意一个相等,查找命中;否则根据比

较结果找到指向相应区间的链接,并在其指向的子树中递归地继续查找。如果这是空链接,查找未命中。如下所示:



5. 时间复杂度分析

解析:

(1)在一棵大小为N的2-3树中,查找和插入操作访问的结点必然不超过个。

(2)任意空链接到根结点的路径长度都是相等的。


参考文献:

[1] 算法(第4版):2-3查找树