基于旋转的平衡二叉排序树上插入的实现
目录
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.
【通联编辑代影】
iON Cloud怎么样?iON Cloud今天发布了7月份优惠,使用优惠码:VC4VF8RHFL,新购指定型号VPS半年付或以上可享八五折!iON的云服务器包括美国洛杉矶、美国圣何塞(包含了优化线路、CN2 GIA线路)、新加坡(CN2 GIA线路、PCCW线路、移动CMI线路)这几个机房或者线路可供选择,有Linux和Windows系统之分,整体来说针对中国的优化是非常明显的,机器稳定可靠,比...
10gbiz怎么样?10gbiz 美国万兆带宽供应商,主打美国直连大带宽,真实硬防。除美国外还提供线路非常优质的香港、日本等数据中心可供选择,全部机房均支持增加独立硬防。洛杉矶特色线路去程三网直连(电信、联通、移动)回程CN2 GIA优化,全天低延迟。中国大陆访问质量优秀,最多可增加至600G硬防。香港七星级网络,去程回程均为电信CN2 GIA+联通+移动,大陆访问相较其他香港GIA线路平均速度更...
80vps怎么样?80vps最近新上了香港服务器、美国cn2服务器,以及香港/日本/韩国/美国多ip站群服务器。80vps之前推荐的都是VPS主机内容,其实80VPS也有独立服务器业务,分布在中国香港、欧美、韩国、日本、美国等地区,可选CN2或直连优化线路。如80VPS香港独立服务器最低月付420元,美国CN2 GIA独服月付650元起,中国香港、日本、韩国、美国洛杉矶多IP站群服务器750元/月...