自己动手实现java数据结构(七) AVL树
发布时间:2021-04-01 20:43:13 所属栏目:安全 来源:网络整理
导读:1.AVL树介绍 前面我们已经介绍了二叉搜索树。普通的二叉搜索树在插入、删除数据时可能使得全树的数据分布不平衡,退化,导致二叉搜索树最关键的查询效率急剧降低。这也引出了平衡二叉搜索树的概念,平衡二叉搜索树在此前的基础上,通过一系列的等价变换使二
如果我们聚焦于重平衡操作所涉及的元素,会发现其实质只是改变了Node,Son,GrandSon三个节点及所挂载的四颗子树(T0,T1,T2,T3)的位置关系。更为重要的是,无论是左左形还是其它三种形状,其重平衡完成之后的拓扑结构是一样的,区别只在于N,S,GS三个节点的相对位置不同。 因此,便有了另一种更高效的重平衡等价变换的方式,被称为"3+4重构"。3+4重构在重平衡时,暴力的将元素打散,并不使用旋转的技巧,而是直接改变节点和节点、节点和子树之间的引用关系,一口气将其转变为重平衡之后的最终拓扑结构,直达目标。
3.AVL树实现细节3.1 二叉搜索树拓展(编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |