子树基于旋转的平衡二叉排序树上插入的实现

插入排序  时间:2021-01-30  阅读:()

基于旋转的平衡二叉排序树上插入的实现

目录

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.

【通联编辑代影】

Digital-VM暑期全场六折优惠,8个机房

Digital-VM商家目前也在凑热闹的发布六月份的活动,他们家的机房蛮多的有提供8个数据中心,包括日本、洛杉矶、新加坡等。这次六月份的促销活动全场VPS主机六折优惠。Digital-VM商家还是有一点点特点的,有提供1Gbps和10Gbps带宽的VPS主机,如果有需要大带宽的VPS主机可以看看。第一、商家优惠码优惠码:June40全场主机六折优惠,不过仅可以月付、季付。第二、商家VPS主机套餐1...

cyun29元/月,香港CN2 GIA云服务器低至起;香港多ip站群云服务器4核4G

cyun怎么样?cyun蓝米数据是一家(香港)藍米數據有限公司旗下品牌,蓝米云、蓝米主机等同属于该公司品牌。CYUN全系列云产品采用KVM架构,SSD磁盘阵列,优化线路,低延迟,高稳定。目前,cyun推出的香港云服务器性价比超高,香港cn2 gia云服务器,1核1G1M/系统盘+20G数据盘,低至29元/月起;香港多ip站群云服务器,16个ip/4核4G仅220元/月起,希望买香港站群服务器的站长...

hostodo:美国大流量VPS,低至$3,8T流量/月-1.5G内存/1核/25gNVMe/拉斯维加斯+迈阿密

hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...

插入排序为你推荐
桌面背景图片非主流想下载非主流桌面背景,有没有专业的背景平台提供下载啊?316不锈钢和304哪个好材质 304不锈钢和316不锈钢有什么区别杀毒软件哪个好杀毒软件什么最好燃气热水器和电热水器哪个好燃气热水器和电热水器哪个好电视直播软件哪个好电视直播软件哪个好核芯显卡与独立显卡哪个好独立显卡和核芯显卡有什么区别手机管家哪个好手机管家哪个软件好股票软件哪个好股票软件哪个好,手机股票软件哪个好用oppo和vivo哪个好vivo和oppo哪个更耐用视频软件哪个好什么看视频的软件好
最便宜的vps cpanel idc测评网 便宜建站 42u标准机柜尺寸 阿里云代金券 150邮箱 e蜗牛 dux 卡巴斯基官方免费版 腾讯云分析 腾讯实名认证中心 服务器干什么用的 四核服务器 银盘服务 下载速度测试 什么是web服务器 免费个人主页 徐州电信 godaddy空间 更多