AVL Tree解析
来源:互联网 发布:大数据规划 编辑:程序博客网 时间:2024/06/07 19:05
AVL树,最难理解的一点或许是——操作描述吧。~~~2333~~~
非常多的地方,让操作的描述跟人的思维习惯产生矛盾,实在很遗憾。
为此,我摒弃左单旋、右单旋、左右双旋、右左双旋这些叫法,而采用顺时针旋转和逆时针旋转来说明。
破坏平衡的条件有四种,其中两两成镜像。因此,只需要理解两种方式,对应成镜像的,相信也会顺其而然的理解了。
1. 往左孩子的左边插入一个节点
2. 往右孩子的右边插入一个节点(和1互为镜像)
3. 往左孩子的右边插入一个节点
4. 往右孩子的左边插入一个节点(和3和为镜像)
自己画了张图,费了些时间,果断是生疏不会用绘图工具啊。
这边,描述了,1、3两种情况。没有画出的孩子节点,可能为空,也可能不为空,并不一定是不存在的。
额。。。累累的,想做其他的事情,代码再补充啦。。。
好吧,代码可以参照我的这篇文章 http://blog.csdn.net/van0512/article/details/52987325 关注其中的旋转操作。
那篇文章的意思是,插入一序列数字到AVL树中,返回它的根节点的数据值。
因此,整个代码可以说就是建一颗AVL树。
0 0
- AVL Tree解析
- 1066. Root of AVL Tree 解析
- AVL Tree
- AVL- tree
- avl tree
- AVL Tree
- AVL-TREE
- AVL Tree
- AVL Tree
- AVL Tree
- AVL tree
- AVL tree
- 1123. Is It a Complete AVL Tree 解析
- AVL Tree implemention
- AVL Tree Rotation
- AVL Tree 学习笔记
- AVL Tree 的实现
- Sicily 3825. AVL Tree
- excl 解决导出模板中文名问题
- 框架的优缺点
- [Wondgirl]从零开始学React Native之环境搭建(一)
- 【codeforces 733D】【贪心 乱搞】D. Kostya the Sculptor【给你n个长方形,让你找出2个或1个长方体,使得他们拼接成的长方体的内接圆半径最大】
- SessionFactory的创建和Session的获得
- AVL Tree解析
- VS2012,MFC中编辑框右击属性添加变量,未弹出对话框--已解决
- lib-flexible与jquery-weui在使用中的冲突
- 求图像梯度代码
- Manthan, Codefest 16 H. Fibonacci-ish II (暴力)
- MD5算法--C++实现
- 文件夹与文件的增删与修改
- InetAddress
- caffe的损失函数