数据结构——平衡二叉树

平衡二叉树

平衡二叉树的提出原因:衡量一棵排序二叉树结构是否合理,它相当于一个指标

定义:
 

        它是一棵空树;

        或者是一棵这样的树:树种任一结点的左右子树的深度差不超过1;

        定义节点的平衡度为其右子树的深度减去其左子树的的深度。则对于平衡查找树,它的每个结点的平衡度只能为-1,0,1三个值之一;

结点的深度

        

判断下面两颗树是否为平衡二叉树:

例子:


tips:对于新插入结点的位置,应该从头开始进行比较,大的放右边,小的放左边的规则;

练习01


平衡二叉树调整( 四种情况 )

LL型平衡旋转:(单向右旋平衡处理)

RR型平衡旋转:( 单向左旋平衡处理 )

LR型平衡旋转:(双向旋转,先左后右)

RL型平衡旋转:(双向旋转,先右后左)





tips:这些旋转呢,首先要找出不平衡的结点,然后找最低的不平衡结点,进行标注RL,最后再进行旋转

放出比较容易理解的帖子:

https://blog.csdn.net/wxbmelisky/article/details/47787963



理解万岁!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容