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

平衡二叉树AVL

时间:2017-01-07 10:48:17      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:size   情况   最好   log   平衡   树的高度   概念   大于   com   

1、定义

  平衡二叉树(Balanced Binary Tree)是二叉查找树的一个改进,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫AVL树。平衡二叉树要求对于每一个节点来说,它的左右子树的高度(深度)之差绝度值不能超过1。如果插入或者删除一个节点使得高度之差大于1,就要进行节点之间的旋转,将二叉树重新维持在一个平衡状态。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。

2、旋转

  单旋转

技术分享

 

平衡二叉树AVL

标签:size   情况   最好   log   平衡   树的高度   概念   大于   com   

原文地址:http://www.cnblogs.com/MazeHong/p/6258801.html

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