AVL树(平衡二叉查找树)
2017-05-03 15:16
246 查看
转载来至:http://blog.csdn.net/collonn/article/details/20128205
AVL树的旋转操作 图解 最详细
各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法。
我们称呼左旋为:逆进针旋转。
我们称呼右旋为:顺进针旋转。
老规矩,直接上图。
如果再看不懂AVL树的旋转,我就无能为力了。。。
如果图中有错误,欢迎指正。
代码篇
前文已完成了 二叉查找树的实现(BST) 的操作。
可以直接利用BST树,插入和删除操作不变。
变的只是在插入和删除后,进行向根方向的回溯,找到第一个不平衡的节点,分8种情况进行不同的旋转即可。
可以理解,这个不平衡的节点一定是在叶子节点附近,也就是上图所示的各种情况。
所以,AVL树的代码不是一两天就可以写出来的,慢慢会补上代码。
AVL树的旋转操作 图解 最详细
各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法。
我们称呼左旋为:逆进针旋转。
我们称呼右旋为:顺进针旋转。
老规矩,直接上图。
如果再看不懂AVL树的旋转,我就无能为力了。。。
如果图中有错误,欢迎指正。
代码篇
前文已完成了 二叉查找树的实现(BST) 的操作。
可以直接利用BST树,插入和删除操作不变。
变的只是在插入和删除后,进行向根方向的回溯,找到第一个不平衡的节点,分8种情况进行不同的旋转即可。
可以理解,这个不平衡的节点一定是在叶子节点附近,也就是上图所示的各种情况。
所以,AVL树的代码不是一两天就可以写出来的,慢慢会补上代码。
相关文章推荐
- 数据结构14.自平衡二叉查找树_AVL树
- 数据结构14.自平衡二叉查找树_AVL树
- AVL树(平衡二叉查找树)
- 树04-自平衡二叉查找树-AVL树
- 数据结构:自平衡二叉查找树(AVL树)
- AVL树—平衡二叉查找树
- 面试题:什么叫平衡二叉查找树--AVL树
- AVL树(平衡二叉查找树)
- AVL树(平衡二叉查找树)
- 算法学习 - 平衡二叉查找树实现(AVL树)
- AVL树-自平衡二叉查找树(Java实现)
- 算法系列(九)平衡二叉查找树AVL树
- 自平衡二叉查找树(一)-----------AVL树分析和代码实现
- 算法学习 - 平衡二叉查找树实现(AVL树)
- AVL树-自平衡二叉查找树(Java实现)
- 数据结构查找(2)--平衡的二叉查找树(AVL树)
- 数据结构与算法7:哈夫曼树,二叉查找树,平衡二叉查找树,B树,B+树
- 二叉查找树、红黑树、B树、B+树、AVL树
- 数据结构-自平衡二叉查找树(AVL)详解
- 平衡树、平衡二叉查找树、二叉排序树(查找树)