加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

自己动手实现java数据结构(七) AVL树

发布时间:2021-04-02 19:39:42 所属栏目:安全 来源:网络整理
导读:1.AVL树介绍 前面我们已经介绍了二叉搜索树。普通的二叉搜索树在插入、删除数据时可能使得全树的数据分布不平衡,退化,导致二叉搜索树最关键的查询效率急剧降低。这也引出了平衡二叉搜索树的概念,平衡二叉搜索树在此前的基础上,通过一系列的等价变换使二

  如果我们聚焦于重平衡操作所涉及的元素,会发现其实质只是改变了Node,Son,GrandSon三个节点及所挂载的四颗子树(T0,T1,T2,T3)的位置关系。更为重要的是,无论是左左形还是其它三种形状,其重平衡完成之后的拓扑结构是一样的,区别只在于N,S,GS三个节点的相对位置不同。

  因此,便有了另一种更高效的重平衡等价变换的方式,被称为"3+4重构"。3+4重构在重平衡时,暴力的将元素打散,并不使用旋转的技巧,而是直接改变节点和节点、节点和子树之间的引用关系,一口气将其转变为重平衡之后的最终拓扑结构,直达目标。

  

自己动手实现java数据结构(七) AVL树

3.AVL树实现细节

3.1 二叉搜索树拓展

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!