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

平衡查找二叉树

时间:2016-07-17 18:04:35      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:avltree

AVL树是平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。

  • AVL树的性质

  1. 左子树和右子树的高度之差的绝对值不超过1

  2. 树中的每个左子树和右子树都是AVL树

  3. 节点的平衡因子是它的左子树的高度减去它的右子树的高度。带有平衡因子 1、0 或 -1 的节点被认为是平衡的。带有平衡因子 -2 或 2 的节点被认为是不平衡的,并需要重新平衡这个树。平衡因子可以直接存储在每个节点中,或从可能存储在节点中的子树高度计算出来。                  

本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1827155

平衡查找二叉树

标签:avltree

原文地址:http://10541556.blog.51cto.com/10531556/1827155

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