当前位置:启航官网 > 考研报考 > 试题

(18分)实现和使用平衡二叉树(AVL 树)的插入构造算法。(1)对于元素序列{

(18分)实现和使用平衡二叉树(AVL 树)的插入构造算法。

(1)对于元素序列{3.2.1.4.5.6.7.16.15.14.13.12.11,10,8,9},画出依序插入平衡二 叉树后,平衡二叉树的结果。(5分)

(2)写出该平衡二叉树的后序遍历结果。(2分)

(3)将以下 AVL 树插入构造算法的片段补充完整。(11分)

typedef struct AVLTreeNode{

int key;//键值

int height;

struct AVLTreeNode *left;//左孩子

struct AVLTreeNode *right; //右孩子

}Node,*AVLTree;

int Height(AVLTree p){return(p==NULL)?-1:p->height;}

int MAX(int a,int b){return a>b?a:b;}

void postorder_avltree(AVLTree tree){…/*后序遍历AVL树*/}

/*LL:左单旋转。返回值:旋转后的根节点*/

static Node* LL_Rotation(AVLTree k2){

AVLTree kl;

_______________a)(3分)

k2->height =MAX(Height(k2->1eft),Height(k2->right))+1;

k1->height=MAX(Height(kl->left),k2->height)+1;

return k1;

}

/*RR:右单旋转。返回值:旋转后的根节点*/

static Node* RR_Rotation(AVLTree k1){

AVLTree k2;

________________b)(3分)

k1->height =MAX(Height(k1->left),Height(k1->right))+1;

k2->height =MAX(Height(k2->right),k1->height)+1;

return k2;}

/*LR:左双旋转。返回值:旋转后的根节点*/

static Node*LR_Rotation(AVLTree k1){

k1->left=_____________c)(1分)

return LL Rotation(k1)

}

查看答案和解析

【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。

免责声明:本平台部分帖子来源于网络整理,不对事件的真实性负责,具体考研相关内容请以各院校的官网通知为准。 如果本站文章侵犯到您的权利,请联系我们(400-108-7500)进行删帖处理。
下一篇 最后一页

启航教育热门私房课

MORE
  • 26考研VIP领学计划

    全程跟进
    形式:线上+线下
     

    查看详情

    在线咨询

  • 26考研专属VIP班

    联报优惠
    形式:线上
     

    查看详情

    在线咨询

  • 26在职考研课程

    专为在职人定制
    形式:线上
     

    查看详情

    在线咨询

2026考研

小班面授 名额有限 抢先体验

点击预约 

为你推荐

    姓名

    手机号

    获取答案
    扫描上方二维码免费领取学习资料