2022年硕士研究生招生考试初试模拟试题参考答案

作者:江上_酒
QQ: 1470784960
Email: iszhaoxl@163.com
申明:

  1. 此为模拟卷一答案,如有错误可直接在评论区留言,我会及时处理。
  2. 转载使用均需要标明出处,(制作不易,点赞关注万分感谢!)。
  3. 祝愿所有考生在专业课上可以取得理想成绩!!!
扬 州 大 学
2022年硕士研究生招生考试初试模拟试题参考答案
科目代码:858 科目名称:程序设计与数据结构 满分:150分

一、选择题(共20小题,每小题2分,共40分)

题号12345
答案CACAD
题号678910
答案BBBDC
题号1112131415
答案DBDCC
题号1617181920
答案DCCDD

二、应用题(共3小题,每小题10分,共30分)

  1. (1) q->next!=p; (2) q->next=p-next; (3) free(p);
  2. 二叉排序树如下所示:
    在这里插入图片描述
    平均查找长度为: A S L S U C C = 1 12 ( 1 + 2 × 2 + 3 × 3 + 4 × 3 + 2 × 5 + 1 × 6 ) = 7 2 ASL_{SUCC}=\frac{1}{12}(1+2\times2+3\times3+4\times3+2\times5+1\times6)=\frac{7}{2} ASLSUCC=121(1+2×2+3×3+4×3+2×5+1×6)=27
  3. 二叉树如下所示:
    在这里插入图片描述

三、编写程序(共4小题,每小题10分,共40分)

  1. 代码如下
    void statistics()
    {
        int a;
        int r=0,s=0,t=0;
        printf("请输入10个数据:");
        for(int i=0;i<10;i++)
        {
            scanf("%d",&a);
            if(a>0)
                r++;
            else if(a<0)
                s++;
            else
                t++;
        }
    printf("正数:%d,负数:%d,零:%d\n",r,s,t);
    }
    
  2. 代码如下
    int max(int x,int y)
    {
        if(x>=y){return x;}
        else{return y;} 
    }   
    int main()
    {
        int a,b,m;
        scanf("%d,%d",&a,&b);
        m=max(a,b);
        printf("最大值max=%d",m);
    }
    
  3. 代码如下
    void sum()
    {
        int i,sum=0;
        for(i=1;i<1000;i=i+2)
            sum=sum+i;
        printf("1-1000间的所有奇数和sum=%d",sum);
    }
    
  4. 代码如下
    void transpose()
    {
        int a[2][3],b[3][2],i,j;
        for(i=0;i<2;i++)
            for(j=0;j<3;j++)
                scanf("%d",&a[i][j]);
        for(i=0;i<3;i++)
            for(j=0;j<2;j++)
                b[i][j]=a[j][i];
        for(i=0;i<3;i++)
            for(j=0;j<2;j++)
                printf("%d",b[i][j]);
            printf("\n");
    }
    

四、算法设计(共4小题,每小题10分,共40分)

  1. 代码如下
    void merge(SqList A,SqList B,SqList *C)
    {
        int i=0,j=0,k=0;
        while(i<A.length && j<B.length)
        {
            if(A.data[i]<B.data[j])
                C->data[k++]=A.data[i++];
            else
                C->data[k++]=B.data[j++];
        }
        while(i<A.length) C->data[k++]=A.data[i++];
        while(j<B.length) C->data[k++]=B.data[j++];
        C->length=k;
    }
    
  2. 代码如下
    typedef struct BiTNode 
    {
        char data;
        BiTNode  *lchild, *rchild;
    } BiTNode, *BiTree;
    int Similar(BiTree B1, BiTree B2)
    {
        if(!B1 && !B2)
            return 1; 
        else if(B1 && !B2 || !B1 && B2)
            return 0;
        else{
            if(Similar(B1->lchild,B2->lchild) && Similar(B1->rchild,B2->rchild))
                return 1;
            else
                return 0;    
        }
    }
    
  3. 代码如下
    int BiTreeDepth(BiTree T)
    {
        int i,j;
        if(!T)
            return 0;
        if(T->lchild)
            i=BiTreeDepth(T->lchild);
        else
            i=0;
        if(T->rchild)
            j=BiTreeDepth(T->rchild);
        else
            j=0;
        return i>j?i+1:j+1;
    }
    
  4. 代码如下
    typedef struct QNode
    {
       int data;
       struct QNode *next;
    }QNode,*QueuePtr;
    typedef struct
    {
       QueuePtr rear;
    }LinkQueue;
    
    void EnQueue(LinkQueue *Q,int x)
    {
        QueuePtr s=(QueuePtr)malloc(sizeof(QNode));
        s->data=x;                                 
        s->next=Q->rear->next;                    
        Q->rear->next=s;
        Q->rear=s; 
    } 
    void DeQueue(LinkQueue *Q)
    {
        QueuePtr p;
        if(Q->rear->next==Q->rear)
        {
            printf("队列为空!!!");
            return;
        }
        p=Q->rear->next;        
        Q->rear->next=p->next;
        free(p);
    }
    
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值