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

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

【平衡二叉树的由来】:

      平衡二叉树是一个排序二叉树,用来查找。

      有这样一个规律:同样一个二叉排序树。像下图这样:

76873b068ba6dd83c91d013c92e1ffba_20150924154712904.png

       查找1这个数,第一个图需要查找6次,而第二个图需要查找4次。因此一棵二叉排序树左右子树的深度越接近,查找的平均次数越少。为了提高查找效率,因此出现了平衡二叉树。

【如何构造平衡二叉树】

       1.1、先构造一个普通的二叉排序树

       1.2、对应类型旋转。

       2、或者边构造边旋转。

       注意:每次旋转90度。

       【几种旋转模型】

f2ac29d36e21015ed715af2f5aa36bda_20150924154747174.png

a6f49b78ee3d21fe98a1365b3b55a371_20150924160154659.png

d21c5948b3a0928f1f0442b415d66b96_20150924155010727.png

 

c155bc3c2f66cc73e44465dee138f812_20150924155018245.png

【扩展】

       在网上搜索,到这样一篇资料。光看图就能明白很多。分享给大家。

c524d2ad1f2b22d7453e5cd5765c1c7c_20150924154620717.jpg

85af4d9ebf176b64300b8960a014aa85_20150924154627559.jpg

       如果想了解更多,请戳这里:点击打开链接

【总结】

       平衡二叉树是自考与软考中都会考到的知识点。之前不太明白,现在总结完了,也清晰了。学了满二叉树,出现了完全二叉树,学了完全二叉树,出现了哈弗曼树,学了哈弗曼树,出现了二叉排序树、平衡二叉树、线索二叉树。。。不断优化,不断提高。学无止境。


相关文章
|
2天前
|
数据库 索引
数据结构中平衡二叉树插入删除中左旋、右旋、左右双旋、右左双旋的详解(题目讲解 简单易懂)
数据结构中平衡二叉树插入删除中左旋、右旋、左右双旋、右左双旋的详解(题目讲解 简单易懂)
42 0
|
10月前
|
存储
数据结构-各种树(二叉树、二叉查找树、平衡二叉树、红黑树、B树、B+树)
数据结构-各种树(二叉树、二叉查找树、平衡二叉树、红黑树、B树、B+树)
|
10月前
【开卷数据结构 】平衡二叉树(AVL)
【开卷数据结构 】平衡二叉树(AVL)
69 0
|
11月前
|
Java
数据结构(6)树形结构——平衡二叉树(JAVA代码实现)
6.1.概述 二叉搜索树存在一个问题,就是树的姿态和数据的插入顺序是有关系的,有时候树会变成某一边的子树高度过高,甚至直接退化成斜二叉树,使得查找从二分查找跌落为顺序查找:
87 0
|
12月前
|
存储 关系型数据库 MySQL
【数据结构】AVL平衡二叉树底层原理以及二叉树的演进之多叉树
【数据结构】AVL平衡二叉树底层原理以及二叉树的演进之多叉树
【数据结构】AVL平衡二叉树底层原理以及二叉树的演进之多叉树
Java数据结构——平衡二叉树(AVL树)
Java数据结构——平衡二叉树(AVL树)
Java数据结构——平衡二叉树(AVL树)
|
算法
数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
|
存储 算法
【数据结构和算法】树表的查找算法(二叉排序树与平衡二叉树)
【数据结构和算法】树表的查找算法(二叉排序树与平衡二叉树)
205 0
【数据结构和算法】树表的查找算法(二叉排序树与平衡二叉树)
|
算法
【数据结构】动态查找—平衡二叉树的概述和算法分析
【数据结构】动态查找—平衡二叉树的概述和算法分析
125 0
【数据结构】动态查找—平衡二叉树的概述和算法分析
数据结构——再赏“树“,关于搜索二叉树(BST树)和平衡二叉树(AVL树)那点事儿~(2)
数据结构——再赏“树“,关于搜索二叉树(BST树)和平衡二叉树(AVL树)那点事儿~(2)
244 0
数据结构——再赏“树“,关于搜索二叉树(BST树)和平衡二叉树(AVL树)那点事儿~(2)