ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:32.26KB ,
资源ID:1409062      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1409062.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北航2011年硕士研究生入学考试数据结构与C语言试题与答案.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北航2011年硕士研究生入学考试数据结构与C语言试题与答案.docx

1、2011 年硕士研究生入学考试“数据结构与C语言程序设计”(科目代码:991)试题与答案一、单项选择题(本题共20分,每小题各2分)1下列关于线性表的存储结构的叙述中,错误的是。A线性表的顺序存储结构中隐式地存储了数据元素之间的逻辑关系B线性表的顺序存储结构一定需要占用一片地址连续的存储空间C线性表的链式存储结构通过指针来反映数据元素之间的逻辑关系D线性表的链式存储结构占用的存储空间一定不连续2若front 和rear 分别表示链接队列的队头指针与队尾指针,则向队列中插入一个由p指的新元素的过程是依次执行。Arear=p; front=p; Bfront=p; rear=p;Crear-lin

2、k=p; rear=p; Dfront-link=p; rear=p;3下列关于二叉树的叙述中,正确的是。A二叉树的度可以小于2 B二叉树的度等于2C二叉树中至少有一个结点的度为2 D二叉树中每一个结点的度都为24若某二叉树有40个叶结点,则该二叉树的结点总数最少是。A78 B79 C80 D815若采用邻接矩阵存储一个有向图,且邻接矩阵主对角线以下元素均为0,则该有向图的拓扑序列。A存在且惟一 B存在但可能不惟一C不存在 D无法确定6下面关于AOE 网的叙述中,正确的是。AAOE 网是一个带权的连通图BAOE 网是一个带权的强连通图CAOE 网是一个带权的无回路的连通图DAOE 网是一个带权

3、且无回路的有向图7下列关于线性表查找方法的叙述中,错误的是。A顺序查找法适合于采用顺序存储结构和链式存储结构的线性表的查找B对于相同元素,顺序查找法一定能够查找到表中首次出现的元素C对于相同元素,折半查找法一定能够查找到表中首次出现的元素D对于相同元素,折半查找法不一定能够查找到表中首次出现的元素8在二叉排序树中进行查找的平均时间效率主要与下列因素之一有关,该因素是。A二叉排序树的深度 B二叉排序树中结点的个数的多少C被查找结点的度 D二叉排序树的存储结构9下列4 种排序方法中,每一趟排序结束时不一定能够确定一个元素排序最终位置的是。A插入排序 B快速排序C堆积(Heap)排序 D二路归并排序

4、210下列4 种排序方法中,当待排序的序列中元素初始时已经按值有序,排序所花费的时间反而有可能最多的是。A泡排序 B谢尔(Shell)排序C快速排序 D堆积(Heap)排序二、简答题(本题共20分,每小题各5 分)1等概率情况下,在长度为n 的顺序表中插入和删除一个数据元素分别需要平均移动多少个元素?移动的元素个数主要取决于哪几个因素?2在采用循环单链表作为某队列的存储结构时,可以只设置一个队头指针,也可以只设置一个队尾指针。请问:从操作的时间效率考虑,采用哪种方案更合适?为什么?3对于具有n 个顶点、e 条边的稀疏图和稠密图,就空间性能而言,采用邻接矩阵存储方法和邻接表存储方法哪一种更合适?

5、为什么?4什么是小顶堆积(Heap)?在小顶堆积中,值最大的元素可能处在什么位置?(可以借助一棵二叉树描述)三、综合题(本题共20分,每小题各5 分)1下列算法的功能是删除长度为n的顺序表A中重复出现的多余元素,即对于重复出现的元素,表中只保留一个。请在算法的空白处填上必要的内容,使算法完整。void PURGE(ElemType A , int &n) int i=0,j,k;while(in)j=i+1; /* 从第i+1 个元素开始逐个与第i个元素比较*/while(jn)if(Aj=Ai) /* 若Aj与Ai相同,删除Aj */for( )Ak-1=Ak;n-; /* 修改表的长度*/

6、else2请将由题三2 图给定的树转换为一棵二叉树。(只须画出转换后的二叉树)题三 2 图3已知某3阶B-树如题三3图所示,请画出在该 B-树中插入关键字20 以后得到的B-树。题三 3 图6030 50 7015 25 35 45 55 65 75AB C DE F G H I J34请分别写出对数据元素序列(49,38,65,97,76,13,27,49)按从小到大进行谢尔(Shell)排序时每一趟的结果。设排序的间隔数(也称为增量)依次为4,2,1。四、算法设计题(本题15 分)已知某哈夫曼树采用二叉链表存储,结点构造为lchild data rchild ,其中,叶结点的 data 域

7、中已经存放了该叶结点对应的权值。请写一非递归算法,该算法的功能是计算根结点指针为T的哈夫曼树的带权路径长度(WPL)。要求:1用文字简要给出算法的基本思想;(5 分)2根据算法的基本思想写出相应算法。(10 分)五、程序阅读题(本题共20分,每小题各2分)1下列程序的输出结果是。main( )char ch=A;printf(“ch(1)=%d,ch(2)=%cn”,ch,ch+1);2下列程序段的输出结果是。k=1; t=3;dot+=k+;if(t%7=0)continue;else+k;while(t15);printf(“%d”,k);3下列程序的输出结果是。#include main

8、( ) int s12=1,2,3,4,4,3,2,1,1,1,2,3,a5=0,i;for(i=0;i12;i+)asi+;for(i=1;i5;i+)printf(“%d”,ai);printf(“n”);4下列程序的输出结果是。#include main( ) char str115= “good”,str210= “morning”;printf(“%dn”,strlen(strcat(str1,str2);5下列程序的输出结果是。main( )4 int a5=1,2,3,4,5,*p;p=a;printf(“%dn”,*(+p);6下列程序的输出结果是。main( ) char *

9、s=“13579”;s+;printf(“%c%c%c”,*s,*(s+1),*s+1);7下列程序的输出结果是。#define MAX(A,B) (A)(B)?(A):(B)#define PRINT(Y) printf(“Y=%dt”,Y)main( ) int a=1,b=2,c=3,d=4,temp;temp=MAX(a+b,c+d);PRINT(temp);8下列程序的输出结果是。int fun(int x,int y) return(x+y); main( )int a=2,b=5,c=8;printf(“%dn”,fun(fun(a+c,b),a-c);9下列程序的输出结果是。#

10、include main( )struct dateint year,month,day;today;printf(“%dn”,sizeof(struct date);10执行下列程序后,文件file2.txt中的内容是。#include main( ) FILE *in,*out;char *str1=“YOU PLAN TO FAIL.”;char *str2=“IF YOU FAIL TO PLAN.”;if(in=fopen(“file1.txt”,“w”)!=NULL)while(*str1!=.)fputc(*str1+,in);fclose(in);if(in=fopen(“fi

11、le1.txt”,“r”)!=NULL)&(out=fopen(“file2.txt”,“w”)!=NULL)while(!eof(in)fgetc(in);5fputc(*str2+,out);fclose(in);fclose(out);六、填空题(本题共20分,每小题各4 分)1对于下列程序,为了使输出结果为t=4,输入量x和y应该满足的条件是。main( ) int x,y,s=1,t=1;scanf(“%d,%d”,&x,&y);if(x0)s=s+1;if(xy)t=s+t;else if(x=y)t=5;elset=2*s;printf(“t=%d”,t);2若已有下列定义,则表

12、达式p-b/n.a 的值是 ,表达式p-b/n.a*+p-b 的值是 ,表达式(*p).a+p-c的值是 。struct numint a;int b;float c;n=1,3,5.0;struct num *p=&n;3下列程序段的功能是计算1000!的末尾含有多少个零。请在程序段的空白处填上必要的内容,使程序段完整。(提示:只要计算出1000!中含有因数5 的个数即可)for(k=0,i=5;i=1000;i+=5)m=i;while( )k+;m=m/5;4下列程序的功能是通过指针操作,找出并输出三个整数中的最小者。请在程序的空白处填上必要的内容,使程序完整。#include main

13、( )int *a,*b,*c,num,x,y,z;a=&x;b=&y;c=&z;printf(“Input a,b,c:”);6scanf(“%d%d%d”,a,b,c);printf(“%d,%d,%dn”,*a,*b,*c);num=*a;if(*a*b) ;if(num*c) ;printf(“The minimun=%dn”,num);5下列程序的功能是先由用户通过键盘输入一个文件名,然后向此文件输入一串字符(假设输入以字符“#”结束),最后再将当前日期写到文件的尾部。请在程序的空白处填上必要的内容,使程序完整。#include main( )char ch,date20,fname30;FILE *fp;printf(“Input the file name:”);scanf(“%s”,fname);if(fp=fopen( )=NULL)printf(“Can not open file %s !n”,fname);exit(0);printf(“Input a string:n”);while(ch=getchar( )!=#)fputc( );printf(“Enter date:n”);scanf(“%s”,date);fprintf( );fclose(fp);七、程序设计题(本题15 分)请编写一C语言程序

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1