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

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

【通联编辑代影】

CloudCone2核KVM美国洛杉矶MC机房机房2.89美元/月,美国洛杉矶MC机房KVM虚拟架构2核1.5G内存1Gbps带宽,国外便宜美国VPS七月特价优惠

近日CloudCone发布了七月的特价便宜优惠VPS云服务器产品,KVM虚拟架构,性价比最高的为2核心1.5G内存1Gbps带宽5TB月流量,2.89美元/月,稳定性还是非常不错的,有需要国外便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开...

欧路云:美国CUVIP线路10G防御,8折优惠,19元/月起

欧路云新上了美国洛杉矶cera机房的云服务器,具备弹性云特征(可自定义需要的资源配置:E5-2660 V3、内存、硬盘、流量、带宽),直连网络(联通CUVIP线路),KVM虚拟,自带一个IP,支持购买多个IP,10G的DDoS防御。付款方式:PayPal、支付宝、微信、数字货币(BTC USDT LTC ETH)测试IP:23.224.49.126云服务器 全场8折 优惠码:zhujiceping...

ATCLOUD.NET-OVH海外高防云主机,采用KVM架构,稳定安全且便宜好用,仅3刀起

官方网站:点击访问ATCLOUD.NET官网优惠码:目前提供Cloud VPS与Storage VPS两款产品的六折优惠活动(续费同价,截止至2021年5月31日)优惠码:UMMBPBR20Z活动方案:一、型号CPU内存磁盘流量优惠价格购买链接VPS-1GB0.5×2.6+GHz1GB20GB1TB$3立即购买VPS-2GB1×2.6+GHz2GB50GB2TB$6立即购买VPS-4GB2×2.6...

插入排序为你推荐
p图软件哪个好用手机p图软件那个好麒麟990和骁龙865哪个好目前高通哪款处理器可以与麒麟990匹敌?985和211哪个好想问问大学211和985有什么不同吗?法兰绒和珊瑚绒哪个好法兰绒和珊瑚绒睡衣哪个好?无纺布和熔喷布口罩哪个好表层水刺布,中间层pp无纺布+熔喷布,里层pp无纺布口罩好吗?电陶炉和电磁炉哪个好电磁炉与电陶炉有啥区别,哪个更好些?手机炒股软件哪个好手机炒股哪个软件好 要免费的播放器哪个好播放器哪个好用清理手机垃圾软件哪个好清理手机垃圾的软件哪个好群空间登录为什么QQ群空间登陆不了
域名注册信息查询 免费国际域名 华为云服务 便宜域名 韩国加速器 空间打开慢 info域名 免费ftp站点 数字域名 ntfs格式分区 域名和空间 hdd 登陆空间 789 电信网络测速器 东莞主机托管 华为k3 ledlamp 数据湾 锐速 更多