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

插入排序  时间: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.

【通联编辑代影】

触摸云 26元/月 ,美国200G高防云服务器

触摸云触摸云(cmzi.com),国人商家,有IDC/ISP正规资质,主营香港线路VPS、物理机等产品。本次为大家带上的是美国高防2区的套餐。去程普通线路,回程cn2 gia,均衡防御速度与防御,防御值为200G,无视UDP攻击,可选择性是否开启CC防御策略,超过峰值黑洞1-2小时。最低套餐20M起,多数套餐为50M,适合有防御型建站需求使用。美国高防2区 弹性云[大宽带]· 配置:1-16核· ...

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

青云互联-洛杉矶CN2弹性云限时五折,9.5元/月起,三网CN2gia回程,可选Windows,可自定义配置

官方网站:点击访问青云互联官网优惠码:五折优惠码:5LHbEhaS (一次性五折,可月付、季付、半年付、年付)活动方案:的套餐分为大带宽限流和小带宽不限流两种套餐,全部为KVM虚拟架构,而且配置都可以弹性设置1、洛杉矶cera机房三网回程cn2gia 洛杉矶cera机房                ...

插入排序为你推荐
苹果x和xr哪个好iphone X和iphone XR哪个比较好?买哪个合适?电脑杀毒软件哪个好电脑杀毒用哪个好?小说软件哪个好用免费看小说,哪个软件好,要免费的杰士邦和杜蕾斯哪个好安全套是杜蕾斯的好用还是杰士邦的好用?车险哪个好私家车买什么保险好视频软件哪个好安卓系统在线看视频软件哪个好百度空间登录百度空间怎么登陆yy空间登录怎么搞YY空间yy空间登录玩空间游戏怎样1直是正在登录中360云盘官网是不是一定要注册360帐号才能登陆360云盘?
紧急升级请记住新域名 国外vps租用 申请个人网页 193邮箱 域名接入 免费活动 免费全能主机 四核服务器 电信托管 国外视频网站有哪些 申请网站 美国凤凰城 英国伦敦 cxz 卡巴斯基试用版下载 存储服务器 mteam 七十九刀 酷锐 godaddy域名 更多