码迷,mamicode.com
首页 > 其他好文 > 详细

AVL树

时间:2018-01-28 16:34:30      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:mic   mil   分享图片   nbsp   alt   n+2   技术分享   style   .com   

1.介绍

AVL树是带有平衡条件的二叉查找树,而且必须保证树的深度是O(logN).

这个平衡条件很多,最常见的是左子树和右子树的高度相差不超过1,可以证明,一颗AVL树的高度最多为1.44log(N+2)-1.328。

技术分享图片

因此,除了插入的操作以外,所有的树操作都以O(logN)执行,因为当进行插入的时候可能需要进行额外的平衡操作。把必须平衡的点计为a,那么这种操作可能是下面的一种:

a.对a的左儿子的左子树进行一次插入

b.对a的左儿子的右子树进行一次插入

c.对a的右儿子的左子树进行一次插入

d.对a的右儿子的右子树进行一次插入

对于a和d,用单旋转就可以,而中间两种需要用到双旋转

2.单旋转

 

AVL树

标签:mic   mil   分享图片   nbsp   alt   n+2   技术分享   style   .com   

原文地址:https://www.cnblogs.com/zzqboy/p/8371182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!