数据结构期末试题3及答案.docx

上传人:b****6 文档编号:6203868 上传时间:2023-01-04 格式:DOCX 页数:8 大小:31.59KB
下载 相关 举报
数据结构期末试题3及答案.docx_第1页
第1页 / 共8页
数据结构期末试题3及答案.docx_第2页
第2页 / 共8页
数据结构期末试题3及答案.docx_第3页
第3页 / 共8页
数据结构期末试题3及答案.docx_第4页
第4页 / 共8页
数据结构期末试题3及答案.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

数据结构期末试题3及答案.docx

《数据结构期末试题3及答案.docx》由会员分享,可在线阅读,更多相关《数据结构期末试题3及答案.docx(8页珍藏版)》请在冰豆网上搜索。

数据结构期末试题3及答案.docx

数据结构期末试题3及答案

C卷

一、单项选择题

1、在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构B.紧凑结构和非紧凑结构

C.线性结构和非线性结构D.内部结构和外部结构

2、线性表若采用链式结构时,要求内存中可用存储单元的地址()。

A.必须是连续的B.部分地址必须是连续的

C.一定是不连续的D.连续不连续都可以

3、一个栈的入栈序列是a,b,c,d,e,则栈的不可能输出序列是()。

A.edcbaB.decba

C.dceabD.abcde

4、判定一个栈ST(最多元素为m0)为空的条件是()。

A.ST->top!

=0B.ST->top==0

C.ST->top!

=m0D.ST->top==m0

5、在一个单链表中,若删除p所指结点的后续结点,则执行()。

A.p->next=p->next-next;

B.p=p->next;p->next=p->next->next;

C.p->next=p->next;

D.p=p->next->next

6、串是一种特殊的线性表,其特殊性体现在()。

A.可以顺序存储B.数据元素是一个字符

C.可以链接存储D.数据元素可以是多个字符

7、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列j下标从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()

A.SA+141B.SA+144

C.SA+222D.SA+225

8、递归函数f(n)=f(n-1)+n(n>1)的递归体是()。

A.f

(1)=0B.f(0)=1

C.f(n)=f(n-1)+nD.f(n)=n

9、广义表((a,b),c,d)的表尾是()。

A.aB.bC.(a,b)D.(c,d)

10、在线索化二叉树中,t所指结点没有左子树的充要条件是()。

A.t->left==NULLB.t->ltag==1

C.t->ltag==1且t->left==NULLD.以上都不对

11、已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序序列是()

A.acbedB.decabC.deabcD.cedba

12、已知一个图如下图所示,若从顶点a出发按深度搜索进行遍历,则可能得到的一种顶点序列为()。

A.a,b,e,c,d,f

B.a,c,f,e,b,d

C.a,e,b,c,f,d

D.a,e,d,f,c,b

13、采用邻接表存储的图的宽度优先遍历算法类似于二叉树的()

A.先序遍历B.中序遍历

C.后序遍历D.按层遍历

14、设哈希表长m=14,哈希函数H(key)=key%11。

表中已有4个结点:

addr(15)=4

addr(38)=5

addr(61)=6

addr(84)=7

其余地址为空

如用二次探测再散列处理冲突,关键字为49的结点的地址是()。

A.8B.3C.5D.9

15、一组记录的关键码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为()

A.16253548234079823672

B.16253548798223364072

C.16254835798223364072

D.16253548792336407282

二、填空题(每空2分,共30分)

16、在一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动______个元素。

17、在一个单链表中的p所指结点之前插入一个s所指结点时,可执行如下操作:

(1)s->next=_________;

(2)p->next=s;

(3)t=p->data;

(4)p->data=__________;

(5)s->data=t;

18、设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若按行序为主存储序,则A[i][j]对应的S中的存储位置是________。

19、将f=1+1/2+1/3+...+1/n转化成递归函数,其递归出口是______。

递归体是_______。

20、有如递归函数:

intdunno(intm)

{

intvalue;

if(m==0)value=3;

elsevalue=dunno(m-1)+5;

return(value);

}

执行语句printf(“%d\n”,dunno(3));结果是_________。

21、从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是_______________________。

22、深度为k的完全二叉树至少有______个结点,至多有____个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是_______。

23、已知一个图的邻接矩阵表示,计算第i个结点的入度方法是_____。

24、对于长度为n的线性表,若进行顺序查找,则时间复杂度为______,若采用二分法查找,则时间复杂度为_______。

25、在n个元素的序列进行起泡排序时,最少的比较次数是_______。

三、解答操作题(每小题5分,共20分)

26、已知一查二叉树的中序序列为cbedahgijf,前序序列为abcdefghij

画出该二叉树,并且写出该二叉树的后序序列。

27、调用有一组关键{19,01,23,14,55,20,84,27,68,11,10,77},采用哈希函数:

h(key)=key%13

采用开放地址法的二次探测再散列方法解决冲突,度在0-18的散列地址空间中对该关键字序列哈希表。

28、把下图(a)树转换成二叉树,把图(b)二叉树转换成森林

(a)(b)

29、已知序列{17,18,60,40,7,32,73,65,85},请给出采用起泡排序法对该序列作升序排序时的每一趟的结果。

四、算法阅读题

30、下列算法的功能是从串S中删除其值等于c的所有字符(串均采用顺序存储方式,c为字符型),算法思想是从头到尾描s串,对于其值为c的元素采用移动的方式进行删除。

请在空白处填入适当的内容。

SeqString*delall(SeqString*s,charc)

{inti,j;

For(i=0;ilength;i++)

If(s->ch[i]==)

{

For(j=;j

s->ch[j]=;

s->length--;

}

Return(s);

}

31、下面为遍历中序线索二叉树(带头结点)的算法,在空白处填上合适的语句。

结点结构为:

ltag,rtag:

值为0表示为孩子,1表示为线索。

voidinordertraverse_thr(bithrtreeT)

{bithrtree*p;

p=T->lc;

do

{while(p->lt==0)

①____;

printf("%c",p->data);

while((②____)&&(p->rc!

=T))

{p=p->rc;

printf("%c",p->data);

}

③____;

}while(p!

=T);}

五、算法设计题(共8分)

32.设有一个循环双链表,其中有一结点的指针为p,编写一个函数p与其右边的一个结点进行交换。

结点结构为

C卷

一、单项选择题

1.C2.D3.C4.B5.A

6.B7.C8.C9.D10.B

11.D12.D13.D14.D15.A

二、填空题(每空2分,共30分)

16.n-i17.p->nexts->data

18.i*(i+1)/2+j+1

19.f

(1)=1f(n)=f(n-1)+1/n

20.18

21.树可采用二叉树的存储结构并利用二叉树的已有算法解决树的有关问题

22.2k-12k-12k-2+1

23.求矩阵第i列非0元素之和

24.O(n)O(log2n)

25.n-1

三、操作题(每小题5分,共20分)

26、后序为:

cedbhjigfa

27、依题意,m=19,二次探测再散列的下一地址计算公式为:

d1=H(dey)

d2j=(d1+j*j)%m

d2j+1=(d1-j*j)%m;j=1,2,.....

其计算如下:

H(19)=19%13=6

H(01)=01%13=1

H(23)=23%13=10

H(14)=14%13=1(冲突)

H(14)=(1+1*1)%19=2

H(55)=55%13=3

H(20)=20%13=7

H(84)=84%13=6(冲突)

H(84)=(6+1*1)%19=7(仍冲突)

H(84)=(6-1*1)%19=5

H(27)=27%13=1(冲突)

.......

因此:

各关键之际的记录对应的地址分配如下:

addr(27)=0addr(68)=4

addr(01)=1addr(84)=5

addr(14)=2addr(19)=6

addr(55)=3addr(20)=7

addr(10)=9addr(23)=10

addr(11)=11addr(77)=12

28、

29、

初始:

17,18,60,40,7,32,73,65,85

第1趟:

17,18,40,7,32,60,65,73,85

第2趟:

17,18,7,32,40,60,65,73,85

第3趟:

17,7,18,32,40,60,65,73,85

第4趟:

7,17,18,32,40,60,65,73,85

第5趟:

7,17,18,32,40,60,65,73,85

四、算法阅读题(每题6分,共12分)

30、s->ch[i]==c

J=i

s->ch[j+1];

31、①p=p->lc

  ②p->rt==1

 ③p=p->rc

五、算法设计题(共8分)

32.参考答案

voidswap(dnode*p)

{

dnode*q;

q=p->right;

if(q==NULL)

printf(“不能进行交换!

/n”);

else

{

p->right=q->right;

p->right->left=p;

p->left->right=q;

q->left=p->left;

p->left=q;

q->right=p;

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

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

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