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

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

【通联编辑代影】

搬瓦工最新套餐KVM,CN2线路

搬瓦工在国内非常流行的主机商,以提供低价的vps著称.不过近几年价格逐渐攀升.不过稳定性和速度一向不错.依然深受国内vps爱好者喜爱.新上线的套餐经常卖到断货.支持支付宝,paypal很方便购买和使用.官网网站:https://www.bandwagonhost.com[不能直接访问,已墙]https://www.bwh88.net[有些地区不能直接访问]https://www.bwh81.net...

RAKsmart秒杀服务器$30/月,洛杉矶/圣何塞/香港/日本站群特价

RAKsmart发布了9月份优惠促销活动,从9月1日~9月30日期间,爆款美国服务器每日限量抢购最低$30.62-$46/月起,洛杉矶/圣何塞/香港/日本站群大量补货特价销售,美国1-10Gbps大带宽不限流量服务器低价热卖等。RAKsmart是一家华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(...

创梦网络-新上雅安电信200G防护值内死扛,无视CC攻击,E5 32核高配/32G内存/1TB SSD/100Mbps独享物理机,原价1299,年未上新促销6折,仅779.4/月,续费同价

创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川眉山联通、广东优化线路高防机柜,CN2专线相关业务。广东电信大带宽近期可以预约机柜了,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网...

插入排序为你推荐
录音软件哪个好什么软件用来录音更好?手机炒股软件哪个好免费手机炒股软件哪个好?红茶和绿茶哪个好红茶和绿茶哪个更好?东莞电信宽带东莞电信宽带资费怎样?东莞电信网上营业厅电信网上营业厅广东电信上海dns服务器地址上海市青浦区的电信DNS地址是多少360云盘360云盘和百度云网盘哪个好360云盘官网360云盘手机下载官网下载安装到手360云盘怎么用360云盘怎么用最好360云盘36t什么云盘最大?(看见360云盘好像说有36T,百度云盘好像是2T)
什么是域名 webhostingpad 网站监控 patcha 南昌服务器托管 京东商城0元抢购 北京双线机房 183是联通还是移动 东莞数据中心 服务器托管什么意思 多线空间 申请免费空间和域名 双线机房 web服务器是什么 mteam 腾讯云平台 sonya 最新优惠 alertpay 卡巴斯基免费版 更多