武汉纺织大学406数据结构A卷考研真题考研试题硕士研究生入学考试试题原武汉科技学院.docx
- 文档编号:4221705
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:11
- 大小:82.22KB
武汉纺织大学406数据结构A卷考研真题考研试题硕士研究生入学考试试题原武汉科技学院.docx
《武汉纺织大学406数据结构A卷考研真题考研试题硕士研究生入学考试试题原武汉科技学院.docx》由会员分享,可在线阅读,更多相关《武汉纺织大学406数据结构A卷考研真题考研试题硕士研究生入学考试试题原武汉科技学院.docx(11页珍藏版)》请在冰豆网上搜索。
武汉纺织大学406数据结构A卷考研真题考研试题硕士研究生入学考试试题原武汉科技学院
武汉科技学院
2007年招收硕士学位研究生试卷
科目代码
406
科目名称
数据结构(A卷)
考试时间
2007年1月21日下午
报考专业
计算机应用技术
1、试题内容不得超过画线范围,试题必须打印,图表清晰,标注准确。
2、试题之间不留空格。
3、答案请写在答题纸上,在此试卷上答题无效。
题号
一
二
三
四
五
六
七
八
九
十
十一
得分
得分
本试卷总分150分,考试时间3小时。
共11页第1页
共11页第2页
1、在双向循环链表中,在p所指的结点之后插入指针f所指的新结点,其操作步骤是。
A.p->next=f;f->prior=p;p->next->prior=f;f->next=p->next;
B.p->next=f;p->next->prior=f;f->prior=p;f->next=p->next;
C.f->prior=p;f->next=p->next;p->next=f;p->next->prior=f;
D.f->prior=p;f->next=p->next;p->next->prior=f;p->next=f;
2、设有一个栈,元素依次进栈的顺序为a,b,c,d,e。
下面是不可能的出栈序列。
A.a,b,c,d,eB.b,c,d,e,a
C.e,a,b,c,dD.e,d,c,b,a
3、设C语言数组Data[m]作为循环队列的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句是。
A.front=front+1;B.front=(front+1)%m;
C.rear=reart+1;D.rear=(reart+1)%m;
4、一个队列的入队顺序是a,b,c,d,则出队顺序是。
A.a,b,c,dB.b,c,d,a
C.d,c,b,aD.c,d,a,b
5、下列四个序列中,哪一个是堆。
A.75,65,30,15,25,45,20,10B.75,65,45,10,30,25,20,15
C.75,45,65,30,15,25,20,10D.75,45,65,10,25,30,20,15
6、已知串S="teacher",T="ache",则执行子串定位函数Index(S,T,2),后的函数返回值是。
A.2B.6C.0D.3
7、设S="ABC"则StrLength为求串长的函数,则StrLength(S)=。
A.1B.2C.3D.4
8、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是。
A.9B.11C.15D.不确定
共11页第3页
9、二叉树的先序遍历和中序遍历如下,先序遍历:
EFHIGJK;中序遍历:
HFIEJKG。
该二叉树根的右子树的根是。
A.EB.FC.GD.H
10、n个结点的线索二叉树上含有的线索数为。
A.nB.2nC.n-lD.n+l
11、下述编码中,不是前缀码。
A.(00,01,10,11)B.(0,1,00,11)
C.(0,10,110,111)D.(1,01,000,001)
12、设有向图的顶点个数为n,则该图最多可以有条弧。
A.n-1B.n(n-1)/2C.n(n-1)D.n2
13、一个n个顶点的连通无向图,其边的个数至少为。
A.n-1B.nC.n+1D.n*(n-1)
14、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={
A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7
C.V1,V3,V4,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V7
15、若查找每个记录的概率均等,则在具有n个数据元素的顺序表中采用顺序查找法查找一个记录,其平均查找长度ASL为。
A.(n-1)/2B.n/2C.(n+1)/2D.n
16、设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=keyMOD13,散列地址为1的链中有个记录。
A.1B.2C.3D.4
17、m阶B-树是一棵。
A.m叉排序树B.m叉平衡排序树
C.m-1叉平衡排序树D.m+1叉平衡排序树
X
共11页第4页
18、就平均性能而言,目前最好的内部排序方法是排序法。
A.直接插入排序B.希尔排序C.冒泡排序D.快速排序
19、对n个记录的文件进行堆排序,最坏情况下的执行时间是。
A.O(log2n)B.O(n)C.O(nlog2n)D.O(n*n)
20、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是。
A.快速排序B.堆排序C.归并排序D.直接插入排序
21、表达式a*(b+c)-d的后缀表达式是。
A.abcd*+-B.abc+*d-C.abc*+d-D.abcd+*-
二、填空题(每空1分,共20分)
1、数据的物理结构分为
(1)的表示和
(2)的表示。
2、一个算法具有5个特性:
(3)、(4)、(5)、有零个或多个输入、有一个或多个输出。
3、在一个长度为n的顺序表中第i个元素(1<=i<=n)之前插入一个元素时,需向后移动(6)个元素。
4、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为(7),在给定值为x的结点后插入一个新结点的时间复杂度为(8)。
5、最大容量为n的循环队列,队尾指针是rear,队头指针是front,则队空的条件是(9)。
6、顺序栈用data[M]存储数据,栈顶指针是top,已知栈未满,则值为x的元素入栈的操作是(10)。
7、零个字符的串为空串,其长度等于(11)。
8、两个字符串相等的充分必要条件是(12)。
9、具有32个结点的完全二叉树的深度为(13)。
10、如果结点A有3个兄弟,而且B是A的双亲,则B的度是(14)。
11、直接插入排序在最好的情况下时间复杂度为(15)。
共11页第5页
12、Prim(普里姆)算法的时间复杂度是O(n2),它适用于求___(16)___网的最小生成树;Kruskal(克鲁斯卡尔)算法的时间复杂度是O(eloge),它适用于求____(17)__网的最小生成树。
13、高度为4的3阶B-树中,最多有___(18)____个关键字。
14、对于具有144个记录的文件,若采用分块查找法,且每块长度为8,则平均查找长度为___(19)____。
15、基数排序是将多关键字分配排序的(20)位优先法用于单关键字的排序方法。
三、算法填空题(每空2分,共20分)
1、构造一个空的顺序表。
#defineOK1
#defineOVERFLOW–2
#defineLIST_INIT_SIZE100//表存储空间的初始分配量
typedefstruct{
ElemType*elem;//存储空间基址
intlength;//当前长度
intlistsize;//存储容量
}SqList;
typedefintStatus;
StatusInitList_Sq(SqList&L)//构造一个空的线性表L
{
L.elem=
(1);//分配LIST_INIT_SIZE个数据元素的空间
if(
(2))exit(OVERFLOW);//存储分配失败
L.length=0;//长度为0
L.listsize=LIST_INIT_SIZE;//初始存储容量
returnOK;
}//InitList_Sq
2、在顺序线性表L中删除第i个元素,并用e返回其值。
#defineOK1
#defineERROR0
typedefstruct{
ElemType*elem;//存储空间基址
intlength;//当前长度
intlistsize;//存储容量
}SqList;
typedefintStatus;
StatusListDelete_Sq(SqList&L,inti,ElemType&e)
{
if((i<1)||(i>L.length))returnERROR;//删除位置不合法
p=&(L.elem[i-1]);//p为被删除元素的位置
e=*p;//被删除元素的值赋给e
q=L.elem+L.length-1;//表尾元素的位置
for(++p;p<=q;++p)
(3)//被删除元素之后的元素左移
(4)//表长减1
returnOK;
}//ListDelete_Sq
3、在带头结点的单链表中第i个位置前插入元素。
#defineOK1
#defineERROR0
typedefstrucLNode{
ElemTypedata;
structLNode*next;
}LNode,*LinkList;
typedefintStatus;
共11页第6页
StatusListInsert_L(LinkList&L,inti,ElemTypee)
{p=L;j=0;
while(p&&j { p=p->next;++j; } if(! p||j>i-1)returnERROR;//i小于1或者大于表长 s=(LinkList)malloc(sizeof(LNode));//生成新结点 s->data=e; (5)//插入L中 (6) returnOK; }//LinstInsert_L 4、中序打印二叉树。 typedefintTElemType; typedefstructBiTNode{ TElemTypedata; structBiTNode*lchild,*rchild;//左右孩子指针 }BiTNode,*BiTree; voidInOrderTraverse(BiTreeT) { if(T) {InOrderTraverse(T->lchild);//中序打印左子树 (7)//打印根结点的值 (8)//中序打印右子树 } } 共11页第7页 共页第页 5、将增序有序的SR[i..m]和SR[m+1..n]归并为非递减的TR[i..n]。 typedefintRedType; voidMerge(RedTypeSR[],RedType&TR[],inti,intm,intn) { for(j=m+1,k=i;i<=m&&j<=n;++k) { if(SR[i] else(9) } if(i<=m) while(i<=m)TR[k++]=SR[i++]; if(j<=n) (10)TR[k++]=SR[j++]; } 四、计算题(每题4分,共20分) 1、分别计算下面两个程序段的时间复杂度。 (1)i=1; While(i<=n) i=i*3; (2)for(i=1;i<=n;++i) for(j=1;j<=n;++j) { c[i,j]=0; for(k=1;k<=n;++k) c[i,j]+=a[i,k]*b[k,j]; } 共11页第8页 五、应用题(每题5分,共30分) 1、将下图所示的森林转化为二叉树。 共11页第9页 2、已知一棵二叉树的前序遍历序列是ABDEGCFHIJ,中序遍历序列是 DBGEAHFIJC,①构造出该二叉树;②给出该二叉树的后序遍历序列。 3、已知无向图的邻接表如下,①画出这个图;②写出该图的邻接矩阵A; ③根据邻接表,写出从顶点V1出发,深度优先遍历该图所得到的顶点序列。 4、已知一组关键字为(19,14,23,01,68,20,84,27,55,11,79,40),表长15,请按哈希函数H(key)=keyMOD13和线性探测处理冲突。 ①构造该哈希表;②说明查找关键字27必须依次和表中哪些关键字比较。 5、给出一组关键字序列{12,2,16,30,8,28,4,10,20,6,18},写出用下列算法按从小到大排序,第一趟结束时的序列。 ①希尔排序(第一趟排序的增量为5); ②快速排序(选第一个记录为枢轴(分隔)); ③链式基数排序(基数为10)。 6、给出下列递归过程的执行结果 voidunknown(intw) { inti; if(w){ unknown(w-1); for(i=1;i<=w;i++)printf("%d",w); printf("\n"); } } voidmain() { unknown(4); } 1 2 3 4 5 共11页第10页 structnode*next; }Node; 函数首部: Node*Expurgate(Node*head) 共11页第11页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉 纺织 大学 406 数据结构 考研 试题 硕士研究生 入学考试 科技学院