【转载】AVL树最准确的描述

原文链接:https://blog.csdn.net/collonn/article/details/20128205

AVL树左右旋转是一个难以理解的点,这篇文章将左右旋转叫做顺时针逆时针旋转个人感觉好理解了很多。

------------------------------------------------------------------------------------------------

AVL树的旋转操作 图解 最详细

AVL树的旋转操作 图解 最详细

各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法。
我们称呼左旋为:逆时针旋转。
我们称呼右旋为:顺时针旋转。

 

老规矩,直接上图。

如果再看不懂AVL树的旋转,我就无能为力了。。。

如果图中有错误,欢迎指正。

 

代码篇

前文已完成了 二叉查找树的实现(BST) 的操作。

可以直接利用BST树,插入和删除操作不变。

变的只是在插入和删除后,进行向根方向的回溯,找到第一个不平衡的节点,分8种情况进行不同的旋转即可。

可以理解,这个不平衡的节点一定是在叶子节点附近,也就是上图所示的各种情况。

所以,AVL树的代码不是一两天就可以写出来的,慢慢会补上代码。

posted @ 2020-04-02 23:42  arthur819  阅读(81)  评论(0)    收藏  举报