数据结构习题及答案.docx

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

数据结构习题及答案.docx

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

数据结构习题及答案.docx

数据结构习题及答案

 

第一章

1.在数据结构中,从逻辑上可以把数据结构分为(C)

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

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

2.在数据结构中,与所使用的计算机无关的是(A)

A.

逻辑结构B.存储结构C.逻辑和存储结构D.物理结构

 

for(inti=1;i<=m;i++)

for(intj=1;j<=n;j++)

S+=i

第二章线性表

链表不具备的特点是

定条件为(B)

Ahead==nullBhead->next==nullChead->next==headDhead!

=null

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

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

4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C)

A顺序表B用头指针表示的单循环链表C用尾指针表示的单循环链表D单链

5.在一个具有n个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有

序,则操作的时间复杂度为(D)

A0

(1)BO(log2n)C0(n2)D0(n)

6.在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长度有关

A删除单链表中第一个元素B删除单链表中最后一个元素

C在第一个元素之前插入一个新元素D在最后一个元素之后插入一个新元素

7.与单链表相比,双向链表的优点之一是(D)

A插入删除操作更简单B可以进行随机访问

C可以省略表头指针或表尾指针D顺序访问相邻结点更容易

8.若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域(头结点的地址)中存放的是(B)

Alist的地址Blist的内容Clist指的链结点的值D链表第一个链结点的地

9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则(B)

Alist2比list1占用更多的存储单元Blist1与list2占用相同的存储单元

Clist1和list2应该是相同类型的指针变量D双向链表比单链表占用更多的存储单元

10.链表中的每个链结点占用的存储空间不必连续,这句话正确吗?

(不正确)

11.某线性表采用顺序存储结构,元素长度为4,首地址为100,则下标为12的(第13

个)元素的存储地址为148。

V100+4*12=148

11.在顺序表的(最后一个结点之后)插入一个新的数据元素不必移动任何元素。

12.若对线性表进行的操作主要不是插入删除,则该线性表宜采用(顺序)存储结构,若

频繁地对线性表进行插入和删除操作,则该线性表宜采用(链)存储结构。

13、一个顺序表所占用存储空间的大小与(B)无关。

A•表的长度B•元素的存放顺序C.元素的类型D•元素中各的类型

14、设存储分配是从低地址到高地址进行的。

若每个元素占用4个存储单元,则某元

素的地址是指它所占用的单元的(A)。

A.第1个单元的地址B.第2个单元的地址

C.第3个单元的地址D.第4个单元的地址

15、若线性表采用顺序存储结构,每个元素占用4个存储单元,第1个元素的存储地址为

100,则第12个元素的存储地址是(B)。

A.112B.144C.148D.412

16、若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值应该是(D)。

A.i>0B.i<=nC.1<=i<=nD.1<=i<=n+1

17、若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应

该是(C)。

A.i>0B.y<=nC.1<=i<=nD.d<=i<=i+1

18、若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要

移动表中(B)个数据元素。

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

19、若长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,首

先需要移动表中(C)个数据元素。

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

20、若频繁地对线性表进行插入和删除操作,该线性表应该采用(C)存储结构。

A.散列B.顺序C.链式D.索引

21、链表中的每一个链结点所占用的存储单元(B)。

A.不必连续B.—定连续C.部分连续D.连续与否无所谓

22、在一个具有n个链结点的线性链表中查找某一个链结点,若查找成功,需要平均比较(C)个链结点。

 

行(B)。

B)。

 

26、在非空双向循环链表中由q所指的链结点后面插入一个由p所指的链结点的操作依次

(C)。

为p->prior=q;p_>next=q_>next;q_>next=p;

27、在非空双向循环链表中由q所指的链结点前面插入一个由p所指的链结点的操作依次

(D)。

为p->next=q;p_>prior=q_>prior;q_>prior=p;

 

C.p_>next->prior=p;

D.p->prior->next=p;

28、顺序存储的线性表

(a1,a2,••…;an),在任一结点前插入一个新结点时所需移动结点的平均

次数为(D)o

 

25、假设指针p指向单链表中的某一结点,若把p指针后面的结点删除,只需修改下列哪个指针值即可()。

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

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

26、在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针P所指向的结

 

点,则执行(D)。

 

27、构造一个空的线性表

A.InitList(&L)

B.DestroyList(&L)

C.ListEmpty(L)

D.CIearList(&L)

第三章

1、栈和队列的共同点是(C)

A.都是先进后出B.都是先进先出在C.只允许在端点处插入和删除元素

D.没有共同点

则栈的出栈顺序不可能是(C)

2、一个栈的进栈顺序是a,b,c,d,e,

3、设n个元素的进栈序列为1,2,3,••…;n,出栈序列为p1,p2,p3,••…;pn,若p仁n,则

pi(1<=i<=n)的值为(C)o

A.iB.n-iC.n-i+1D.有多种可能

4、判断下面的说法是否正确

(1)插入和删除操作比较简单,是链式栈和链式队列的优点之一。

X

(2)堆栈允许删除的一端称为栈顶,而栈底元素是不能删除的。

X

5、设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为

s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为多少?

6、若数组s[0..n-1]为两个栈,si和s2的共用存储空间,且仅当s[0..n-1]全满时,各栈才不

能进行进栈操作,则为这两个栈分配空间的最佳方案是:

si和s2的栈顶指针的初值分别为

(C)。

A.1和n+1B.1和n/2C.-1和nD.-1和n+1

7、判定一个顺序栈st(最多元素为Maxsize)为空的条件为(B),判断栈满的条件为

(D).

A.st.top!

=-1B.st.top==0C.st.top!

=MaxsizeD.st.top==Maxsize

&循环顺序队列中是否可以插入下一个元素,(A)

A.与队头指针和队尾指针的值有关

B.只与队尾指针的值有关,与队头指针的值无关

C.只与数组的大小有关,与队首头指针和队尾指针的值无关

D.与曾经进行过多少次插入操作有关

9、若用一个大小为6的一维数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除1个元素,然后再插入2个新元素后,rear和front的值分别为(B)。

A.1和5B.2和4C.4和2D.5和1

10、用单链表表示队列时,队头应该在单链表的(A)位置。

A.链头B.链尾C.链中D.任意

11、堆栈和队列的共同之处在于它们具有相同的(A)。

A.逻辑特性B.物理特性C.运算方法D.元素类型

12、堆栈和队列都是特殊的线性表,其特殊性在于(C)。

A.它们具有一般线性表所没有的逻辑特性

B.它们的存储结构特殊

C.对它们的使用方法做了限制

D.它们比一般线性表更简单

13、若5个元素的出栈序列为1,2,3,4,5,则进栈序列可能是(D)。

A.24315B.23154C.31425D.31254

14、若堆栈采用顺序存储结构,正常情况下,向堆栈中插入一个元素,栈顶指针top的变化是(D)

A.不变B.top=0C.top--D.top++

15、若堆栈采用顺序存储结构,正常情况下,删除堆栈中一个元素,栈顶指针top的变化是(C)

A.不变B.top=0C.top--D.top++

16、若队列采用顺序存储结构,元素的排列顺序(B)。

A.与元素的值的大小有关B.由元素进入队列的先后顺序决定

C.与队头指针和队尾指针的取值有关D.与作为顺序存储结构的数组的大小有关

17、链接队列”这一概念不涉及(B)。

A.数据的存储结构B.数据的逻辑结构C.对数据进行的操作D.链表的种类

18、若堆栈采用链式存储结构,栈顶指针为top,向堆栈插入一个由p所指的新结点的过程是依次执行(C),top=p

A.p=topB.top=pC.p->next=topD.top->next=p

19、若非空堆栈采用链式存储结构,栈顶指针为top,删除堆栈一个元素的过程是依次执

行p=top;(B);free(p)

A.top=pB.top=p->nextC.p=top->nextD.p=p-next

20、若队列采用链式存储结构,队头元素指针与队尾元素指针分别为front和rear,向队列

中插入一个由p所指的新结点的过程是依次执行:

(C);rear=p;

A.rear=pB.front=pC.rear->next=pD.front->next=p

21、若非空队列采用链式存储结构,,队头元素指针与队尾元素指针分别为front和rear,

删除队列的一个元素的过程是依次执行:

p=front;(D);free(p)

A.rear=pB.rear=p->nextC.p->next=rearD.front=p->next

22、在循环队列中,若front与rear分别表示队头元素和队尾元素的位置,则判断循环队列队空的条件是(C)。

A.front=rear+1B.rear=front+1C.front==rearD.front==rear==0

23、若描述某循环队列的数组为为Circle[M],当循环队列满时,队列中有(B)个元素。

A.MB.M-1C.M+1D.M+2

24、在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主

机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据打印,该缓

冲区应该是一个(D)结构。

A.线性表B.数组C.堆栈D.队列

25、设计一个递归问题的非递归算法通常需要设置(C)结构。

A.线性表B.数组C.堆栈D.队列

26、栈和队列都是(AD)。

A.限制存取位置的线性结构B.顺序存储的线性结构

C.链式存储的线性结构D.限制存取位置的线性结构

27、顺序栈是一种规定了元素进栈顺序的栈。

X

28、在循环队列中(少用一个存储空间),队满的条件是(A)

A.(rear+1)%maxsize==frontB.raer==front

C.(front+1)%maxsize==rearD.rear==0

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

当前位置:首页 > 人文社科 > 法律资料

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

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