旋转是二叉树的基本操作,我们可以对任意一个存在父亲节点的子节点进行旋转,包括如下几种形式(设被旋转节点为x,其父亲节点为p):
1.左旋
旋转前,x是p的右儿子。
x的左儿子(若存在)变为p的右儿子,p变为x的左儿子。如下图

二叉树的左旋和右旋简单图示

2.右旋
旋转前,x是p的左儿子。
x的右儿子(若存在)变为p的左儿子,p变为x的右儿子。如下图

二叉树的左旋和右旋简单图示

综上总结:

是左旋还是右旋的判断,我们可以通过检查选择前x是p的左儿子还是右儿子来判断该次旋转是左旋还是右旋。
旋转的方式,也就是把父节点旋转到旋转点的子节点,然后把旋转点多余的子节点给父节点

相关文章:

  • 2022-12-23
  • 2021-07-18
  • 2021-10-28
  • 2021-06-08
  • 2021-05-21
  • 2022-12-23
  • 2022-01-04
猜你喜欢
  • 2021-10-19
  • 2022-01-14
  • 2021-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2021-11-29
相关资源
相似解决方案