AVL树,是带有平衡条件(balance condition) 的二叉查询树。其平衡条件是每个节点的左子树和右子树的高度最多差1的二叉查询树(空树的高度定位-1)。树的高度是指,该树到一片叶子节点的最长路径的长。

当对AVL树进行插入,或者删除操作时,由于可能会破坏AVL树的平衡条件,为了能够在插入或删除操作完成后,继续保证AVL树的平衡,需要对AVL树进行旋转(retation)。通常就是包括单旋转双旋转两种情况。

单旋转

节点的左儿子节点,左子树添加新的节点的场景。示例,如图:

AVL平衡二叉查询树-分分钟钟被安排地明明白白

节点的右儿子,右子树添加新的节点的场景,示例,如图:

AVL平衡二叉查询树-分分钟钟被安排地明明白白

双旋转

节点的左儿子,右子树添加节点的场景,示例如图:

 

AVL平衡二叉查询树-分分钟钟被安排地明明白白

节点的右儿子,左子树添加节点的场景,示例如图:

AVL平衡二叉查询树-分分钟钟被安排地明明白白

 

相关文章:

  • 2022-01-23
  • 2022-12-23
  • 2021-04-19
  • 2021-06-29
  • 2022-12-23
  • 2022-03-04
猜你喜欢
  • 2022-01-01
  • 2022-01-07
  • 2021-11-14
  • 2021-07-25
  • 2022-01-02
  • 2021-04-18
  • 2021-05-19
相关资源
相似解决方案