最近学习了这3种树,感觉其实有很多相同的地方吧,首先是最重要的旋转操作,3种树都有

AvlTree left_left(AvlTree k1)
{
    //if(height(k1->left)-height(k1->right)<2)return k1;
    AvlTree k2 = k1->left;
    k1->left = k2->right;
    k2->right = k1;
   k1->Height = max(height(k1->left),height(k1->right))+1;
    k2->Height = max(height(k2->left),height(k2->right))+1;
    return k2;
}

//右右旋转

AvlTree right_right(AvlTree k1)
{
    //if(height(k1->right)-height(k1->left)<2)return k1;
    AvlTree k2 = k1->right;
    k1->right = k2->left;
    k2->left = k1;
    k1->Height = max(height(k1->left),height(k1->right))+1;
    k2->Height = max(height(k2->left),height(k2->right))+1;
    return k2;
}
View Code

相关文章:

  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
  • 2021-09-07
  • 2021-12-08
  • 2021-09-08
猜你喜欢
  • 2022-12-23
  • 2021-05-30
  • 2021-06-03
  • 2022-12-23
  • 2021-10-09
  • 2021-12-10
  • 2021-07-05
相关资源
相似解决方案