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

平衡树、AVL树

时间:2019-01-03 17:25:17      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:扫描   大于   查找   树的高度   avl树   需要   一个   高度   实现   

平衡树

平衡树有AVL树、红黑树、2-3树、2-3-4树


AVL树

AVL树是最早的一种平衡树,它以发明者的名字命名。

特征

在AVL树中节点的左子树和右子树的高度差不会大于1

实现

在AVL树中每个节点都存储着一个额外的数据,它的左子树和右子树的高度差,这个差值不能大于1。
插入一个元素后,检查该元素所在的最低子树的根,如果它的子节点的高度相差大于1,执行一次或两次旋转使它们的高度相等;然后接着检查上面的节点,必要时均衡高度;这个检测一直向上,直到根为止。

效率

AVL树查找的时间复杂度为O(logN),因为树一定是平衡的。但是,由于插入或删除一个节点时需要扫描两趟,一次向下查找插入点,一次向上平衡树,AVL树不如红黑树效率高,也不如红黑树常用。

平衡树、AVL树

标签:扫描   大于   查找   树的高度   avl树   需要   一个   高度   实现   

原文地址:https://www.cnblogs.com/Mike_Chang/p/10215139.html

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