数据结构试题集含答案Word下载.docx

上传人:b****2 文档编号:14038738 上传时间:2022-10-17 格式:DOCX 页数:64 大小:771.33KB
下载 相关 举报
数据结构试题集含答案Word下载.docx_第1页
第1页 / 共64页
数据结构试题集含答案Word下载.docx_第2页
第2页 / 共64页
数据结构试题集含答案Word下载.docx_第3页
第3页 / 共64页
数据结构试题集含答案Word下载.docx_第4页
第4页 / 共64页
数据结构试题集含答案Word下载.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

数据结构试题集含答案Word下载.docx

《数据结构试题集含答案Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构试题集含答案Word下载.docx(64页珍藏版)》请在冰豆网上搜索。

数据结构试题集含答案Word下载.docx

i=s=O;

while(s<

n){

i++;

s+=i;

}

A.O(n)B.O(n2)C.O(Vn)D.O(n3)

11、抽象数据类型的三个组成部分分别为(A)。

A.数据对象、数据关系和基本操作B.数据元素、逻辑结构和存储结构

C.数据项、数据元素和数据类型D.数据元素、数据结构和数据类型

12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是(A)o

A.正确性算法应能正确地实现预定的功能

B.易读性算法应易于阅读和理解,以便调试、修改和扩充

C.健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果

D.高效性即达到所需要的时间性能

13、下列程序段的时间复杂度为(B)。

x=n;

y=0;

while(x>

=(y+1)*(y+1))

y=y+1;

、填空题

1、程序段“=1;

while(i<

=n)i=i*2;

”的时间复杂度为O(log2n)

2、数据结构的四种基本类型中,树形结构的元素是一对多关系三、综合题

1、将数量级0

(1),0(N),0(N2),0(N3),0(NL0G2N),0(L0G2N),0(2n)按增长率由小到大排

序。

答案:

0

(1)<

0(log2N)<

0(N)<

0(Nlog2N)<

0(N2)<

0(N3)<

0(2N)

第二章线性表

、选择题

1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的

时间复杂度(C)

3、具有线性结构的数据结构是(D)

4、在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动

(B)个元素。

5、非空的循环单链表head的尾结点p满足(A)。

C.

D.p==head

p==NULL

CI.6、链表不具有的特点是(A)

7、在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改

指针的操作是(C)。

A.p->

next=q;

q->

prior=p;

p->

next->

prior=q;

B.p->

next=p->

next;

C.q->

D.q->

C.连续与否均可D.和头结点的存储地址相连续

9、在一个长度为n的顺序表中删除第i个元素,需要向前移动(A)个元素。

A.n-iB.n-i+1C.n-i-1D.i+1

10、线性表是门个(C)的有限序列。

A.表元素B.字符C.数据元素D.数据项

11、从表中任一结点出发,都能扫描整个表的是(C)。

A.单链表B.顺序表C.循环链表D.静态链表

12、在具有n个结点的单链表上查找值为x的元素时,其时间复杂度为(A)。

2

A.O(n)B.O

(1)C.O(n2)D.O(n-1)

13、线性表L=(a1,a2,••…,an),下列说法正确的是(D)。

A.每个元素都有一个直接前驱和一个直接后继

B.线性表中至少要有一个元素

C.表中诸元素的排列顺序必须是由小到大或由大到小

D.除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后继

14、一个顺序表的第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的存储地址是(B)。

A.98B.100C.102D.106

15、在线性表的下列存储结构中,读取元素花费的时间最少的是(D)。

A.单链表B.双链表C.循环链表D.顺序表

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

B.p=p->

C.p=p->

D.p=p->

17、将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为(C)。

A.O

(1)B.O(n)C.O(m)D.O(m+n)

18、线性表的顺序存储结构是一种(A)存储结构。

A.随机存取B.顺序存取C.索引存取D.散列存取

19、顺序表中,插入一个元素所需移动的元素平均数是(D)。

A.(n-1)/2B.nC.n+1D.n/2

10、循环链表的主要优点是(D)。

A.不再需要头指针

B.已知某结点位置后能容易找到其直接前驱

C.在进行插入、删除运算时能保证链表不断开

D.在表中任一结点出发都能扫描整个链表

11、不带头结点的单链表head为空的判定条件是(A)。

A.head==NULL

B.head->

next==NULL(带头结点判定条件)

C.head->

next==head(循环链表判定条件)

D.head!

=NULL

12、在下列对顺序表进行的操作中,算法时间复杂度为0

(1)的是(A)

A.访问第i个元素的前驱(1<

in)

B.在第i个元素之后插入一个新元素(1in)

C.删除第i个元素(1in)

D.对顺序表中元素进行排序

13、已知指针p和q分别指向某单链表中第一个结点和最后一个结点。

假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为(A)0

A.q->

next=s->

next;

s->

next=p;

B.s->

C.p->

next=q;

D.s->

p->

14、在以下的叙述中,正确的是(C)0

A.线性表的顺序存储结构优于链表存储结构

B.线性表的顺序存储结构适用于频繁插入/删除数据元素的情况

C.线性表的链表存储结构适用于频繁插入/删除数据元素的情况

D.线性表的链表存储结构优于顺序存储结构

15、在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为(A)0

A.(n-1)/2B.n/2C.(n+1)/2D.n

16、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入一个结点s,则执行(C)o

A.s->

next=s;

next=p;

next=s;

next=p;

D.p->

next=q;

17、在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是(B)。

A.p=p->

next;

B.p->

next=p->

next->

C.p->

D.p=p->

18、在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若

next==head,贝U(D)。

A.p指向头结点B.p指向尾结点

C.p的直接后继是头结点D.p的直接后继是尾结点

1、设单链表的结点结构为(data,next)。

已知指针p指向单链表中的结点,q指向新结

点,欲将q插入到p结点之后,则需要执行的语句:

q->

next;

next=q_。

二、填空题

nextp->

next=q

2、线性表的逻辑结构是_线性结构—,其所含元素的个数称为线性表的长度。

线性结构长度

3、写出带头结点的双向循环链表L为空表的条件。

L->

prior==L->

next==L

4、带头结点的单链表head为空的条件是。

head->

next==NULL

5、在一个单链表中删除p所指结点的后继结点时,应执行以下操作:

q=p->

next=q->

next;

三、判断题

1、单链表不是一种随机存储结构。

2、在具有头结点的单链表中,头指针指向链表的第一个数据结点。

3、用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。

4、顺序存储方式只能用于存储线性结构。

5、在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是

相邻的。

6链式存储的线性表可以随机存取。

四、程序分析填空题

1、函数GetElem实现返回单链表的第i个元素,请在空格处将算法补充完整

intGetElem(LinkListL,inti,Elemtype*e){

LinkListp;

intj;

p=L->

j=1;

while(p&

&

i){

⑴;

++j;

if(!

p||j>

i)returnERROR;

*e=⑵;

returnOK;

(1)p=p->

next

(2)p->

data

2、函数实现单链表的插入算法,请在空格处将算法补充完整

intListInsert(LinkListL,inti,ElemTypee){

LNode*p,*s;

intj;

p=L;

j=0;

p=p->

j++;

while((p!

=NULL)&

(j<

i-1)){

if(p==NULL||j>

i-1)returnERROR;

s=(LNode*)malloc(sizeof(LNode));

data=e;

(1;

}/*Listlnsert*/

3、函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整

intListDelete_sq(Sqlist*L,inti){

intk;

if(i<

1||i>

length)returnERROR;

for(k=i-1;

k<

length-1;

k++)

slist[k]=

(1);

(2);

(1)L->

slist[k+1]

(2)--L->

Length

4、函数实现单链表的删除算法,请在空格处将算法补充完整。

intListDelete(LinkListL,inti,Ele

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

当前位置:首页 > 高中教育 > 初中教育

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

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