基于旋转的平衡二叉排序树上插入的实现
目录
1基本原理
1. 1基本概念
1. 2平衡调整算法
2实例及其调整图示
3结束语
通联编辑代影
正文
摘要创建平衡二叉排序树可采用不少种方法。对于教材中采用的旋转法在实际教学中常常引起初学者的疑惑。为了解决这个问题该文提出了一种更为简单的平衡二叉排序树方法与教材中的旋转法相比本算法简单易被理解有较大的推广和应用价值
关键字平衡二叉排序树;平衡因子;二叉树的平衡化
中图分类号 TP3 文献标识码 A
文章编号 1009-3044 2019 17-0003-02
开放科学资源服务标识码OSID
Abstract There are many methods for balanced binary treesorting. For the teaching materials used in the rotationmethod in practical teaching often caused confusion forbeginne. In order to solve this problem this paper proposesa more simple balanced binary sort tree method. Compared withthe rotation method in the textbook this algorithm issimple and easy to undetand and has great promotion andapplication value.
Key words balanced binary sort tree; equilibrium factor;equilibrium of binary trees
現行的数据结构教材中创建平衡二叉排序树方法是通过顺时针、逆时针的旋转把原非平衡的二叉树变为平衡二叉树。此种方法旋转次数旋转方向因不同的问题而不同虽然在理论上严谨但对初学者来说理解起来颇为困难。针对这一问题本文提出了一种更为简单的平衡二叉排序树方法这种方法不需要进行旋转平衡更容易理解。不仅对于初学者还是作为教学中的一种尝试都有着积极的意义。
1基本原理
1. 1基本概念
平衡二叉排序树
平衡二叉排序树的左、右子树高度之差的绝对值不超过1并且左、右子树都是平衡二叉排序树。空树也是平衡二叉排序树。
平衡因子
平衡因子是左子树的高度减去右子树的高度差也即深度差。因此所有结点的均衡因子是-1 0 1的二叉树是平衡二叉排序树。
最小不平衡子树
最小不平衡子树是指具有以下属性作为根的节点的子树最接近插入节点的祖先节点并且平衡因子不是-1 0 1。
1.2平衡调整算法
算法的基本思想
重新插入结点向根算平衡因子将离新插入结点最近的不平衡结点标为A顺向新插入结点方向标注B C调整分以下4种情况新插入结点相对于不平衡结点A的位置
算法的正确性
调整为平衡二叉树后 中序遍历对关键字进行了有序排列它可以维持二叉排序树原有的性质。与此同时不管任何一种情况在调整后都能确保根的新子树与原来的相同。因此 当平衡的二叉排序树引入新的结点而失去平衡时只需要平衡最小不平衡子树。
算法的复杂度
假设平衡二叉数有n个结点平衡二叉排序树的n个结点的深度为[log2n] 插入结点时的数量级为n的对数阶故其时间复杂度为O
[log2n] 。在寻找新结点的插入位置时就能选择寻找最小的不平衡子树故查找最小不平衡子树的时间复杂度与插入结点的时间复杂度相等也为O [log2n]
2实例及其调整图示
3结束语
该算法的源代码程序已在Visual C++ 6.0运行成功。算法条理清晰深受同学们喜爱 因此取得了较好的学习效果。二叉排序树平衡化可采用的方法中本方法有一定的优势。对它的准确掌握可以对后续的学习起到非常好的推动作用。 由实践可以表明本文采用的简单调整平衡算法要比教材中的旋转法更易被接受。
参考文献
[1]严蔚敏李冬梅吴伟民.数据结构C语言版第2版 [M] .北京人民邮电出版社 2014.
[2]张标汉.平衡二叉树调整教学探讨[J] .教育与教学研究 2009.
[3]张冰川.平衡二叉排序树的平衡调整简单算法[J] .科技广场
2007.
【通联编辑代影】
7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...
2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...
RAKsmart怎么样?RAKsmart香港机房新增了付费的DDoS高防保护服务,香港服务器默认接入20Mbps的大陆优化带宽(电信走CN2、联通和移动走BGP)。高防服务器需要在下单页面的IP Addresses Option里面选择购买,分:40Gbps大陆优化高防IP-$461/月、100Gbps国际BGP高防IP-$692/月,有兴趣的可以根据自己的需求来选择!点击进入:RAKsmart官...