【软考】---平衡二叉树

原创 2015年10月12日 11:52:30
         最近在学习AVL树的转换,本以为自己挺擅长的,但却经常转错。经过思考发现:没有理解原理肯定知识运用的就比较生疏!所以我就在小伙伴的帮助以及大量查阅资料的情况下了解了一些关于二叉排序树,平衡二叉树和AVL树的知识,分享给大家,希望可以有帮助!


平衡二叉树:

它或者是一颗空树;
或者是这样一颗树:树种任一节点的左右子树的深度相差不超过1。
也就是节点平衡度只能为0,1,-1三个值中的一个


二叉排序树:

又叫查找二叉树
它是一颗空树;
或者满足二叉排序树的性质为:
1、若它的左子树非空,则左子树上所有结点的值均小于根结点的值。
2、若它的右子树非空,则右子树上所有结点的值均大于根结点的值。
3、左、右子树本身是二叉排序树


AVL树:
   
    又叫平衡二叉查找树,我自己认为其实AVL树是平衡二叉树和二叉排序树的结合,用于提高二叉排序树的查找效率!AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis。
   我注意到:书上说平衡二叉树又称为AVL树,但是由上面的对比我们可以很明白的看出来,他们两之间还是有一定的区别的!一定不要弄混了!


AVL树的动态转换:
    
    分析二叉排序树的查找过程,我们可以明显的发现只有在树的形态比较均匀的情况下,查找效率才能达到最佳!而把二叉排序树转化为AVL树就可以让不平衡的二叉排序树的查找效率达到最好!如何转化呢?
建议大家看下边的类型转换的时候,注意各个结点的大小(数字)的变化。

LL型变换:

RR型变换:

LR型双向旋转平衡处理:



RL型双向旋转平衡处理:

   根据不平衡的二叉排序树的情况,对应上面的四种转换,就可以非常简单的把不平衡的二叉排序树转换成AVL树,从而保证二叉排序树的查找效率最高!



平衡二叉树一定是二叉排序树吗?
    
    不一定是。
    从上面的定义到引申的讲解我们可以知道:平衡二叉树的定义只是它的平衡因子取1,-1,0而已,也就是任何一个二叉树只要满足平衡因子是这三个值就是平衡二叉树!
    而二叉排序树使用平衡二叉树的作用只是为了将二叉排序树和平衡二叉树结合成AVL树,从而使二叉排序树的查找更高效而已!


小总:
    
    每次小组讲课的时候,组员们都会说自己不会平衡二叉树的问题,然后每次给组员讲,自己也都是非常的糊涂,所以索性就把它弄个清楚再讲,而不是针对某个题去讲,这不就更好的学会了这些知识了嘛!软考还没有结束,知识还需要查询理解并总结啊!大家不要再囫囵吞枣了!

版权声明:本文为博主原创文章,未经博主允许不得转载。

【软考】---进程与作业

作业:一个作业通常包括程序、数据和操作说明书3部分。一个作业可划分为若干个进程来完成,而每一个进程有其实体——程序和数据集合。    程序:传统的程序本身是一组指令的集合,是一个静态的概念 。 ...

【软考】---计算机存储系统

计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。     ...

软考考点---平衡二叉树

平衡二叉树(Balanced binarytree)是由阿德尔森-维尔斯和兰迪斯(Adelson-Velskii and Landis)于1962年首先提出的,所以又称为AVL树。...

【软考】-数据结构-平衡二叉树

【平衡二叉树的由来】:        平衡二叉树是一个排序二叉树,用来查找。        有这样一个规律:同样一个二叉排序树。像下图这样:         查找1这个数,第一个图需要查找6次,而第...

基于C写的平衡二叉树

  • 2016年03月24日 16:18
  • 3KB
  • 下载

生成平衡二叉树

  • 2016年05月05日 21:31
  • 8KB
  • 下载

算法导论 之 平衡二叉树 - 打印 - 递归[C语言]

在之前的博文《算法导论 之 平衡二叉树 - 插入、查询、销毁》中已经给出了构建平衡二叉树的C语言实现过程,但随着节点的增加和树结构的不断旋转调整,且插入、查找、删除的过程中可能存在一些异常情况,经过一...

平衡二叉树程序算法

  • 2013年09月17日 10:18
  • 17KB
  • 下载

数据结构实验之查找二:平衡二叉树

 数据结构实验之查找二:平衡二叉树 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Desc...
  • jia1506
  • jia1506
  • 2016年12月10日 19:53
  • 148
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【软考】---平衡二叉树
举报原因:
原因补充:

(最多只允许输入30个字)