用dz做网站怎么设置数据库,公司网站建设费用 知乎,镇海建设交通局网站首页,网站怎么做预约小程序在介绍平衡二叉树之前#xff0c;应该先了解平衡因子的概念#xff0c;平衡因子定义为左子树深度减去右子树深度#xff0c;这个值的绝对值越大#xff0c;非常容易理解它就对应着越不平衡的情况。一棵平衡的二叉树的平衡因子只能是1#xff0c;0#xff0c;-1如何构建一… 在介绍平衡二叉树之前应该先了解平衡因子的概念平衡因子定义为左子树深度减去右子树深度这个值的绝对值越大非常容易理解它就对应着越不平衡的情况。一棵平衡的二叉树的平衡因子只能是10-1如何构建一棵平衡二叉树呢对一棵平衡的二叉树进行插入操作插入后可能导致不平衡对不平衡的二叉树应该进行旋转操作将其旋转为平衡二叉树。平衡二叉树应该具有二叉树的性质的同时满足平衡条件。如何进行旋转操作旋转操作实际上是对不平衡部分进行再调整的过程。是对二叉树的局部重排。书上将旋转操作划分为4种情况并分别用了几个看不懂的图和介绍来试图让我们搞懂我重新画了一个图介绍在插入C结点后需要进行局部调整时如何进行旋转。如图黄色框区域需要进行局部调整局部调整由排列组合共有以下四种情况有了以上的理论基础我们就可以写出在平衡二叉树上插入新元素e的递归算法①(创建新树递归出口1)若原二叉树为空树则插入结点为根节点树的深度加1②(查找存在递归出口2)若e的关键字和根节点的关键字相同停止插入③(查找不存在执行插入递归出口3)插入③.① 插入过程需要更新结点的平衡因子深度出现异常进行旋转④(递归入口)进入左子树或右子树在左/右子树插入C有了以上的讲解写出想要的代码就不是什么难事啦~挖坑接下来一周将尽量完成B树、键树、哈希表考试周期间对数据结构进行系统复习时将补上图、内外排序部分的内容