平衡二叉树的旋转。

平衡二叉树的旋转分四种情况,我分为两类:

1. 左左情况和右右情况,这两种情况下,非平衡二叉树调整为平衡二叉树只需经过一次旋转即可。

   a. 左左情况,以左子树的根节点进行旋转,如下图B节点,进行顺时针旋转。结果如下图。

平衡二叉树的旋转

平衡二叉树的旋转

 

b. 右右情况,该情况下和左左情况刚好对称,旋转规则是,以右子树的根节点进行旋转,如图C节点所示,进行逆时针旋转。

平衡二叉树的旋转

平衡二叉树的旋转

 

2. 第二类,左右情况和右左情况,这两种情况下,需要经过两次旋转才能将非平衡二叉树调整为二叉树。

   c. 左右情况。首先将左子树进行旋转,把左右情况调整为左左情况。接下来的调整按左左情况进行即可。

平衡二叉树的旋转

平衡二叉树的旋转

 

d. 右左情况。和左右情况相似,首先将右左情况调整为右右情况,然后按右右情况进行调整即可。

平衡二叉树的旋转

 

平衡二叉树的旋转

 

 

 

 

相关文章:

  • 2021-10-31
  • 2021-12-10
  • 2022-12-23
  • 2021-04-26
  • 2021-10-22
  • 2021-08-07
  • 2022-12-23
猜你喜欢
  • 2022-01-22
  • 2021-04-16
  • 2021-09-27
  • 2021-05-23
相关资源
相似解决方案