数据结构习题及答案.docx

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

数据结构习题及答案.docx

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

数据结构习题及答案.docx

数据结构习题及答案

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

B.紧凑结构和非紧凑结构A.动态结构和静态结构内部结构和外部结构.线性结构和非线性结构D.C2.在数据结构中(A)

与所使用的计算机无关的是逻辑和存储结构B.A.

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

3.下面程序的时间复杂度为O(mn)ofor(inti=1;

i<=m;i++)

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

S+=i

第二章线性表)A链表不具备的特点是(插入删除不需要移动元

素B

(顺序)A可以随机访问任一结点所需空间与其长度成正比C不必事先估计空间D

head不带头结点的单链表为空的判定条件为(A),带头结点的单链表head为空的判定2.

)B条件为(Ahead==nullBhead->next==nullChead->next==headDhead!

=null

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

(顺序表D

循环链表A单链表B双链表C4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C)用头指针表示的单循环链表用尾指针表示的单循环链表单链表

C顺序表AB

D

5.在一个具有n个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序,则操作的时间复杂度为(D)2n)CO(n)DO(n)

A0

(1)BO(log2(B)操作与链表的长n(n>1)6.在一个长度为的单链表上,设有头和尾两个指针,执行度有关删除单链表中最后一个元素B

A删除单链表中第一个元素C在第一个元素之前插入一个新元素D在最后一个元素之后插入一个新元素(D)

7.与单链表相比,双向链表的优点之一是可以进行随机访问A插

入删除操作更简单B

C可以省略表头指针或表尾指针D顺序访问相邻结点更容易是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域list8.若(头结点的地址)中存放的是(B)

的地址Blist指的链结点的值的内容AlistClist

D

链表第一个链结点的地址分别为一个单链表与一个双向链表的

第一个结点的指针,则若9.list1list2(B)

和BlistlAlist2与list2占用相同的存储单元占用更多

的存储单元比list1应该是相同类型的指针变量list2D双向链表比单链表占用更多的存储单元Clist1和10.(不正确)

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

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

元素的存储地址为V

)插入一个新的数据元素不必移动任何元素。

11.在顺序表的(最

后一个结点之后12.)存储结构,若顺序若对线性表进行的操作主要不是插入删除,则该线性表宜采用(频繁地对线性表进行插入和删除操作,则该线性表宜采用存储结构。

)链(

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

元素的类型C.

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

存储单元,则某元素若每个元素占用14、设存储分配是从低地址到高地址进行的。

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

A.第

1个单元的地址B.第2个单元的地址第4第3个单元的地址D.

个单元的地址C.

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

,则第12个元素的存储地址是(B)100A.112B.144C.148D.41216、若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,io(D)的合法值应该是A.i>0B.iv=n

C.1<=i<=nD.1<=i<=n+1

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

)该是(C

A.i>0B.yv=nC.1v=iv=nD.dv=iv=i+1删除表的第i个数据元素,、若长度为n的非空线性表米用顺序存储结构,首先需要18)个数据元素。

移动表中(B

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

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

先需要移动表中(C

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

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

20索引散列B.

链式D.

顺序C.

A.、链表中的每一个链结点所占用的存储单元(21B)o连续与否无所谓部分连续D.

B.A.不必连续一定连续C.若查找成功,需要平均比22、

在一个具有n个链结点的线性链表中查找某一个链结点,较(C)个链结点。

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

23、给定具有n个元素的顺序表,建立一个有序线性链表的时间复杂度为(C)o2)D.O(logn)

A.O

(1)B.O(n)C.O(n2q所指的链结点的过程是依次执行

p所指的链结点后面插入一个由、24在非空线性链表中由。

)(B

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

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

p所指的链结点的直接后继链结点的过程过程是依次执行25、若删除非空线性链表中由。

)(BA.r=p->next;p->next=r;free(r);

B.r=p->next;p->next=r->next;free(r);

C.r=p->next;p->next=r->next;free(p);

D.p->next=p->next->next;free(p);

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

p->next=q->next;q->next=p;()C。

A.q->prior=pB.q->next->prior=p

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

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

p->prior=q->prior;q->prior=p;。

(D)A.q->next=p;

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

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

28、顺序存储的线性表(a1,a2,,,,an),在任一结点前插入一个新结点时所需移动结点的平。

)均次数为(D

A.nB.n/2C.n+1D.(n+1)/2

(1WiWn+1i)29、在长度为n的顺序表的第个位置上插入一个

元素,元素的移动次数是(A)。

A.n-i+1B.n-iC.i

D.i-1

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

(D)。

顺序表D.

单链表B.

双链表C.

循环链表A.

、在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用(31C)。

数据元素在表中的序号表示B.数据元素的相

邻地址表示A.

数据元素的值表示D.

C.指向后继元素的指针表示25、假设指针p指向单链表中的某一结点,若把p指针后面的结点删除,只需修改下列哪个。

指针值即可()B.p->next=p->next->nextA.p=p->next;

D.p->next=p;

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

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

个单链表HL所指向的结。

点,贝V执行(D)A.q->next=

p->next;p->next=q

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

=q;D.p->next=q->next;q->next=p;27、构造一个空的线性表L用(A

)A.InitList(&L)

B.DestroyList(&L)

C.ListEmpty(L)

D.ClearList(&L)第三章)、栈和队列的共同点是(C1都是先进先出在A.都是先进后出只允许在端点处插入和删除元素B.C.没有共同点D.

),则栈的出栈顺序不可能是(a,b,c,d,e2、一个栈的进栈顺序是

C

D.adcbeA.edcbaB.decba

C.dceab

3、设n个元素的进栈序列为,则,若,,,出栈序列为

1,2,3,,,,np1,p2,p3,,pnp仁n的值为(C)°pi(1<=i<二n)A.iB.n-iC.n-i+1D.有多种可能、判断下面的说法是否正确4X

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

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

2(X

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

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

6、若数组s[0..n-1]为两个栈,s1s[0..n-1]全满时,各栈才不和s2的共用存储空间,且仅当能进行进栈操作,则为这两个栈分配空间的最佳方案是:

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

C)(n+1

和和A.1和n+1B.1和n/2C.-1nD.-1,判断栈满的条件为)(D).

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

A.st.top!

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

=Maxsize

D.st.top==Maxsize

8(A)、循环顺序队列中是否可以插入下一个元素,A.与队头指针和队尾指针的值有关B.只与队尾指针的值有关,与队头指针的值无关C.只与数组的大小有关,与队首头指针和队尾指针的值无关D.与曾经进行过多少次插入操作有关9、若用一个大

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

12D.55B.2

和和和4C.4和A.110A)位置。

、用单链表表示队列时,队头应该在单链表的(链尾C.

链头B.

任意链中D.

A.

11)A。

堆栈和队列的共同之处在于它们具有相同的(A.逻辑特性B.

物理特性C.

运算方法D.元素类型、堆栈和队列都是特殊的线性表,其特

殊性在于(。

)12C

它们具有一般线性表所没有的逻辑特性A.它们的存储结构特殊B.对它们的使用方法做了限制C.它们比一般线性表更简单D.

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

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

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

D.top++

15、若堆栈采用顺序存储结构,正常情况下,删除堆栈中一个元素,栈顶指针top的变化是)C(B.top=0C.top--D.top++A.不变。

B)16、若队列采用顺序存储结构,元素的排列顺序(由元素进入队列的先后顺序决定与元素的值的大小有关B.

A.

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

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

、17数据的逻辑结构C.

对数据进行的操作D.链表的种类B.A.数据的存储结构18,向堆栈插入一个由topp、若堆栈采用链式存储结构,栈顶指针为所指的新结点的过程C)是依次执行(,top=p

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

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

B;p=top();

A.top=pB.top=p->nextC.p=top->nextD.p=p-next20、若队列采用链式存储结构,队头元素指针与队尾元素指针分别为front和rear,向队列;rear=p;

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

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

21、若非空队列采用链式存储结构,,队头元素指针与队尾元素指针分别为front和rear,删free(p)(D);除队列的一个元素的过程是依次执行:

p=front;

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

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

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

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

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

主机24、在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,该缓冲区而打印机则依次从该缓冲区中取出数据打印,将要输出的数据依次写入该缓冲区,)结构。

应该是一个(D

队列D.C.堆栈A.线性表B.数组)结构。

、设计一个递归问题的非递归算法通常需要设置(C25队列D.数组A.线性表

B.C.

堆栈。

)26、栈和队列都是(AD顺序存储的线性结构A.限制存取位置的线性结构B.限制存取位置的线性结构C.链式存储的线性结构D.

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

27、)A

,队满的条件是(28、在循环队列中(少用一个存储空间)raer==front).%maxsize==frontBrear+1.A(rear==0.D%maxsize==rear

)front+1(.C.

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

当前位置:首页 > 自然科学

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

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