AVL

Edit

AVL树介绍

AVL树是最先发明的自平衡二叉查找树
AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis,他们在1962年的论文《An algorithm for the organization of information》中发表了它

平衡因子

在AVL树节点的平衡因子是左子树高度减去右子树高度,平衡因子在-1到1之间代表是平衡的,若超过则被认为是不平衡的

单旋

单向右旋平衡处理LL


单向左旋平衡处理RR


双旋

双向旋转(先左后右)

先左后右

双向旋转(先右后左)

先右后左

查找

查找方法与BST查找算法一致

插入

在AVL树插入节点时有可能会引起不平衡现象,但只需要调整一次即可将全树变为平衡状态,所以时间复杂度为O(1),若节点和父节点还有祖父节点呈现一子形,只需要执行一次单旋操作即可使其全树再度平衡,并且全树高度不会发生变化

代码如下

删除

在AVL树删除一个节点时有可能会引起不平衡现象,但删除操作不像插入操作一样那么简单,当父节点不平衡时,进行一次旋转操作可以使其恢复平衡,但恢复平衡可能引发的代价是树的高度发生变化,这就有可能引起,父节点的父节点的父节点。。。等等这些节点发生不平衡现象,那么删除时就必须要追溯历代祖先,查看是否发生了失衡情况,所以删除操作最坏情况下需要O(logn)时间

代码如下


与插入算法大同小异,可以理解为多次插入调整


3+4重构

在进行旋转操作时我们并不需要按照它所演示的那样进行旋转,或者说旋转操作是固定的有公式可循

例如



利用这个公式可以得到原先所希望得到得二叉树,不管时双旋单旋还是各种情况都可以解决

代码如下:是一个比较简单得代码

缺点

AVL树的删除操作和查找时间最坏情况下时O(logn),这个时间还是比较快的,但还是不够
以后有时间还是需要自己实现一个AVL树的

%23%23AVL%u6811%u4ECB%u7ECD%0AAVL%u6811%u662F%u6700%u5148%u53D1%u660E%u7684%u81EA%u5E73%u8861%u4E8C%u53C9%u67E5%u627E%u6811%0AAVL%u6811%u5F97%u540D%u4E8E%u5B83%u7684%u53D1%u660E%u8005G.M.%20Adelson-Velsky%u548CE.M.%20Landis%uFF0C%u4ED6%u4EEC%u57281962%u5E74%u7684%u8BBA%u6587%u300AAn%20algorithm%20for%20the%20organization%20of%20information%u300B%u4E2D%u53D1%u8868%u4E86%u5B83%0A%23%23%u5E73%u8861%u56E0%u5B50%0A%u5728AVL%u6811%u8282%u70B9%u7684%u5E73%u8861%u56E0%u5B50%u662F%u5DE6%u5B50%u6811%u9AD8%u5EA6%u51CF%u53BB%u53F3%u5B50%u6811%u9AD8%u5EA6%uFF0C%u5E73%u8861%u56E0%u5B50%u5728-1%u52301%u4E4B%u95F4%u4EE3%u8868%u662F%u5E73%u8861%u7684%uFF0C%u82E5%u8D85%u8FC7%u5219%u88AB%u8BA4%u4E3A%u662F%u4E0D%u5E73%u8861%u7684%0A%0A%23%23%u5355%u65CB%0A%23%23%23%u5355%u5411%u53F3%u65CB%u5E73%u8861%u5904%u7406LL%0A%21%5BAlt%20text%5D%28./1481272097208.png%29%0A%0A%21%5BAlt%20text%5D%28./1481272407961.png%29%0A%0A%23%23%23%u5355%u5411%u5DE6%u65CB%u5E73%u8861%u5904%u7406RR%0A%21%5BAlt%20text%5D%28./1481272116495.png%29%0A%0A%23%23%u53CC%u65CB%0A%23%23%23%u53CC%u5411%u65CB%u8F6C%uFF08%u5148%u5DE6%u540E%u53F3%uFF09%0A%21%5BAlt%20text%5D%28./1481272192950.png%29%0A%21%5BAlt%20text%5D%28./1481272425398.png%29%0A%0A%3E%u5148%u5DE6%u540E%u53F3%0A%21%5BAlt%20text%5D%28./1481272291681.png%29%0A%0A%23%23%23%u53CC%u5411%u65CB%u8F6C%uFF08%u5148%u53F3%u540E%u5DE6%uFF09%0A%21%5BAlt%20text%5D%28./1481272207631.png%29%0A%3E%u5148%u53F3%u540E%u5DE6%0A%21%5BAlt%20text%5D%28./1481272323638.png%29%0A%0A%23%23%u67E5%u627E%0A%u67E5%u627E%u65B9%u6CD5%u4E0EBST%u67E5%u627E%u7B97%u6CD5%u4E00%u81F4%0A%0A%23%23%u63D2%u5165%0A%u5728AVL%u6811%u63D2%u5165%u8282%u70B9%u65F6%u6709%u53EF%u80FD%u4F1A%u5F15%u8D77%u4E0D%u5E73%u8861%u73B0%u8C61%uFF0C%u4F46%u53EA%u9700%u8981%u8C03%u6574%u4E00%u6B21%u5373%u53EF%u5C06%u5168%u6811%u53D8%u4E3A%u5E73%u8861%u72B6%u6001%uFF0C%u6240%u4EE5%u65F6%u95F4%u590D%u6742%u5EA6%u4E3A**O%281%29**%2C%u82E5%u8282%u70B9%u548C%u7236%u8282%u70B9%u8FD8%u6709%u7956%u7236%u8282%u70B9%u5448%u73B0%u4E00%u5B50%u5F62%uFF0C%u53EA%u9700%u8981**%u6267%u884C%u4E00%u6B21%u5355%u65CB%u64CD%u4F5C**%u5373%u53EF%u4F7F%u5176%u5168%u6811%u518D%u5EA6%u5E73%u8861%uFF0C%u5E76%u4E14%u5168%u6811%u9AD8%u5EA6%u4E0D%u4F1A%u53D1%u751F%u53D8%u5316%0A%3E%u4EE3%u7801%u5982%u4E0B%0A%21%5BAlt%20text%5D%28./1481272654604.png%29%0A%0A%23%23%u5220%u9664%0A%u5728AVL%u6811%u5220%u9664%u4E00%u4E2A%u8282%u70B9%u65F6%u6709%u53EF%u80FD%u4F1A%u5F15%u8D77%u4E0D%u5E73%u8861%u73B0%u8C61%uFF0C%u4F46%u5220%u9664%u64CD%u4F5C%u4E0D%u50CF%u63D2%u5165%u64CD%u4F5C%u4E00%u6837%u90A3%u4E48%u7B80%u5355%uFF0C%u5F53%u7236%u8282%u70B9%u4E0D%u5E73%u8861%u65F6%uFF0C%u8FDB%u884C%u4E00%u6B21%u65CB%u8F6C%u64CD%u4F5C%u53EF%u4EE5%u4F7F%u5176%u6062%u590D%u5E73%u8861%uFF0C%u4F46%u6062%u590D%u5E73%u8861%u53EF%u80FD%u5F15%u53D1%u7684%u4EE3%u4EF7%u662F%u6811%u7684%u9AD8%u5EA6%u53D1%u751F%u53D8%u5316%uFF0C%u8FD9%u5C31%u6709%u53EF%u80FD%u5F15%u8D77%uFF0C%u7236%u8282%u70B9%u7684%u7236%u8282%u70B9%u7684%u7236%u8282%u70B9%u3002%u3002%u3002%u7B49%u7B49%u8FD9%u4E9B%u8282%u70B9%u53D1%u751F%u4E0D%u5E73%u8861%u73B0%u8C61%uFF0C%u90A3%u4E48%u5220%u9664%u65F6%u5C31%u5FC5%u987B%u8981%u8FFD%u6EAF%u5386%u4EE3%u7956%u5148%uFF0C%u67E5%u770B%u662F%u5426%u53D1%u751F%u4E86%u5931%u8861%u60C5%u51B5%uFF0C%u6240%u4EE5%u5220%u9664%u64CD%u4F5C%u6700%u574F%u60C5%u51B5%u4E0B%u9700%u8981**O%28logn%29**%u65F6%u95F4%0A%3E%u4EE3%u7801%u5982%u4E0B%0A%21%5BAlt%20text%5D%28./1481272704734.png%29%0A%u4E0E%u63D2%u5165%u7B97%u6CD5%u5927%u540C%u5C0F%u5F02%uFF0C%u53EF%u4EE5%u7406%u89E3%u4E3A%u591A%u6B21%u63D2%u5165%u8C03%u6574%0A%23%233+4%u91CD%u6784%0A%u5728%u8FDB%u884C%u65CB%u8F6C%u64CD%u4F5C%u65F6%u6211%u4EEC%u5E76%u4E0D%u9700%u8981%u6309%u7167%u5B83%u6240%u6F14%u793A%u7684%u90A3%u6837%u8FDB%u884C%u65CB%u8F6C%uFF0C%u6216%u8005%u8BF4%u65CB%u8F6C%u64CD%u4F5C%u662F%u56FA%u5B9A%u7684%u6709%u516C%u5F0F%u53EF%u5FAA%0A%21%5BAlt%20text%5D%28./1481272839282.png%29%0A%21%5BAlt%20text%5D%28./1481272893451.png%29%0A%3E%u4F8B%u5982%0A%21%5BAlt%20text%5D%28./1481272207631.png%29%0A%u5229%u7528%u8FD9%u4E2A%u516C%u5F0F%u53EF%u4EE5%u5F97%u5230%u539F%u5148%u6240%u5E0C%u671B%u5F97%u5230%u5F97%u4E8C%u53C9%u6811%uFF0C%u4E0D%u7BA1%u65F6%u53CC%u65CB%u5355%u65CB%u8FD8%u662F%u5404%u79CD%u60C5%u51B5%u90FD%u53EF%u4EE5%u89E3%u51B3%0A%3E%u4EE3%u7801%u5982%u4E0B%uFF1A%u662F%u4E00%u4E2A%u6BD4%u8F83%u7B80%u5355%u5F97%u4EE3%u7801%0A%21%5BAlt%20text%5D%28./1481273047988.png%29%0A%0A%23%23%u7F3A%u70B9%0AAVL%u6811%u7684%u5220%u9664%u64CD%u4F5C%u548C%u67E5%u627E%u65F6%u95F4%u6700%u574F%u60C5%u51B5%u4E0B%u65F6O%28logn%29%2C%u8FD9%u4E2A%u65F6%u95F4%u8FD8%u662F%u6BD4%u8F83%u5FEB%u7684%uFF0C%u4F46%u8FD8%u662F%u4E0D%u591F%0A%u4EE5%u540E%u6709%u65F6%u95F4%u8FD8%u662F%u9700%u8981%u81EA%u5DF1%u5B9E%u73B0%u4E00%u4E2AAVL%u6811%u7684%0A

猜你喜欢

转载自blog.csdn.net/qq_22989777/article/details/53541317
AVL
今日推荐