2.20日,二叉搜索树,AVL树

二叉搜索树:

二叉搜索树又称为二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:

  • 若它的左子树不为空,则左子树上所有结点的值都小于根结点的值。
  • 若它的右子树不为空,则右子树上所有结点的值都大于根结点的值
  • 它的左右子树也分别是二叉搜索树。
  • 2.20日,二叉搜索树,AVL树_第1张图片

 二叉搜索树在一定程度上可以提高搜索效率,但是当序列是有序时  此时二叉搜索树退化成单链表,搜索效率退化为O(N)。为了解决这个问题,就有了了AVL树,又称平衡搜索二叉树。

ALV树:

AVL树通过在每次插入或删除节点时进行旋转操作来保持树的平衡,以确保每个结点的左右子树高度之差的绝对值不超过1,降低树的高度,从而实现较高效率的查找、插入和删除操作。

2.20日,二叉搜索树,AVL树_第2张图片

AVL树种解决失衡问题通过旋转最小失衡树来使整棵树达到平衡,旋转的目的就是减少高度,通过降低整棵树的高度来平衡。哪边的树高,就把那边的树向上旋转。

对于此类的调节方法共可以分为四种旋转情况

左旋(处理LL型违规)

右旋(处理RR型违规)

左右双旋(处理LR型违规)

右左双旋(处理RL型违规)

2.20日,二叉搜索树,AVL树_第3张图片

看视频理解更深平衡二叉树(AVL树)_哔哩哔哩_bilibili 

 

你可能感兴趣的:(数据结构,算法)