数据结构与算法分析-AVL树深入探讨

Posted devinkin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法分析-AVL树深入探讨相关的知识,希望对你有一定的参考价值。

数据结构与算法分析-AVL树深入探讨

1 数据结构之-AVL树深入探讨

之前学习数据结构与算法分析C语言描述的时候, 学到了AVL树, 陷入了重重的陷阱, 如今把一一踩过的陷阱都描述出来, 好让自己温故知新.

1.1 AVL树介绍

  • AVL(Adelson-Velskii和Landis)树是带有平衡条件的二叉查找树.这个平衡条件必须要容易保持.而且它须保证树的深度是 (O(log{N})).
  • 一棵AVL树是其任意节点的左子树和右子树的高度绝对值最多差1的二叉查找树.
  • 下图是AVL树和非AVL树

技术分享图片

1.2 AVL树的四种不平衡情形

  • AVL树的任意节点 a 的两棵子树(左儿子和右儿子)的高度差2就会出现不平衡状态.
  • 不平衡情形分为四种
    • a 的左儿子(L)的左子树(L)进行一次插入. LL情形
    • a 的左儿子(L)的右子树(R)进行一次插入. LR情形
    • a 的右儿子(R)的左子树(L)进行一次插入. RL情形
    • a 的右儿子(R)的右边子树(R)进行一次插入. RR情形

Date: 2018-11-19 22:15

Author: devinkin

Created: 2018-11-19 一 22:16

Validate

以上是关于数据结构与算法分析-AVL树深入探讨的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法:树 AVL平衡二叉排序树

数据结构与算法:树 AVL平衡二叉排序树

算法平衡二叉树 Avl 树

Java数据结构与算法解析——AVL树

[数据结构与算法] : AVL树

数据结构与算法简记:AVL树