数据结构作业及答案.docx

上传人:b****5 文档编号:2906752 上传时间:2022-11-16 格式:DOCX 页数:21 大小:80.09KB
下载 相关 举报
数据结构作业及答案.docx_第1页
第1页 / 共21页
数据结构作业及答案.docx_第2页
第2页 / 共21页
数据结构作业及答案.docx_第3页
第3页 / 共21页
数据结构作业及答案.docx_第4页
第4页 / 共21页
数据结构作业及答案.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据结构作业及答案.docx

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

数据结构作业及答案.docx

数据结构作业及答案

第一章绪论

一、选择题

1.数据结构是一门研究非数值计算的程序设计问题中计算机的 1 以及它们之间的 2 和运算等的学科。

 1 A.数据元素 B.计算方法  C.逻辑存储  D.数据映像

 2 A.结构   B.关系    C.运算    D.算法

2.数据结构被形式地定义为(K,R),其中K是 1 的有限集,R是K上的 2 有限集。

 1 A.算法   B.数据元素  C.数据操作  D.逻辑结构

 2 A.操作   B.映像    C.存储    D.关系

3.在数据结构中,从逻辑上可以把数据结构分成    。

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

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

4.线性结构的顺序存储结构是一种 1 的存储结构,线性表的链式存储结构是一种 2 的存储结构。

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

5.算法分析的目的是 1 ,算法分析的两个主要方面其一是指 2 ,其二是指正确性和简单性。

 1 A.找出数据结构的合理性   B.研究算法中的输入和输出的关系

C.分析算法的效率以求改进  D.分析算法的易懂性和文档性

 2 A.空间复杂度和时间复杂度  B.研究算法中的输入和输出的关系

  C.可读性和文档性      D.数据复杂性和程序复杂性k

6.计算机算法指的是 1 ,它必须具备输入、输出和 2 等 5个特性。

 1 A.计算方法  B.排序方法  C.解决问题的有限运算序列  D.调度方法

 2 A.可执行性、可移植性和可扩充性   B.可行性、确定性和有穷性

  C.确定性、有穷性和稳定性      D.易读性、稳定性和安全性

7.线性表的逻辑顺序与存储顺序总是一致的,这种说法    。

A.正确 B.不正确

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

   A.必须连续的B.部分地址必须连续的 C.一定是不续的 D连续不连续都可以

9.以下的叙述中,正确的是    。

A.线性表的存储结构优于链式存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出

10.每种数据结构都具备三个基本运算:

插入、删除和查找,这种说法    。

A.正确B.不正确

二、填空题1.数据逻辑结构包括三种类型 、 和     ,树形结构和图形结构合称为     。

2.在线性结构中,第一个结点    前驱结点,其余每个结点有且只有   个前驱结点;最后一个结点    后续结点,其余每个结点有且只有   个后续结点。

3.算法的五个重要特性是    、    、    、    、    。

4.下面程序段的时间复杂度是    。

for(i=0;i

for(j=0;j

A[i][j]=0;

5.下面程序段的时间复杂度是    。

i=s=0;

while(s

{

i++;/*i=i+1*/

s+=i;/*s=s+i*/

}

6.下面程序段的时间复杂度是    。

s=0;

for(i=0;i

for(j=0;j

s+=B[i][j];

sum=s;

7.下面程序段的时间复杂度是    。

i=1;

while(i<=n)

i=i*3;

第一章绪论(参考答案)

一、选择题:

1. A.B。

2. B.D。

3. C。

4. A. B。

(顺序存储结构的地址在内存中是连续的所以可以通过计算地址的相对变化而实现随机存取,而链式存储结构的存储地址不一定连续,只能通过结点的指针按次序顺序存取) 5. C. A。

 6. C. B。

7. B。

 8. D。

 9. B。

 10. B。

二、填空题:

1. 线性结构,树形结构,图形结构,非线性结构。

 2. 没有,1,没有,1。

3. 有穷性,确定性,可行性,输入,输出。

 4. O(m*n)。

 5. O(

)。

 

6. O(n2)。

7. O(log3n)。

5.O(

)。

解:

设基本语句频度为N。

N=1,i=1,s=1;N=2,i=2,s=1+2;N=1,i=1,s=1;N=3,i=3,s=1+2+3;…

当频度为N时,i=N,s=1+2+3…+N。

则根据循环条件,s=1+2+3+…+N

所以,时间复杂度为

7. O(log3n)。

解:

设基本语句的频度为N。

(注意此题没有限制语句频度)

N=1,i=3;N=2,i=9;N=3,i=27;…

当频度为N时,i=3N所以3N

所以时间复杂度T(n)=O(log3n)

第二章线性表

单项选择题

1.一个顺序表的第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是  。

  A.110   B.108   C.100   D.120

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

  A.edcba   B.decba  C.dceab  D.abcde

3.若一个栈的入栈序列是1、2、3、…、n,其输出序列为p1、p2、p3、…、pn,若p1=n,则pi为      。

 A.i   B.n=iC.n-i+1    D.不确定

4.栈结构通常采用的两种存储结构是      。

  A.顺序存储结构和链表存储结构   B.散列方式和索引方式  

C.链表存储结构和数组       D.线性存储结构和非线性存储结构

5.判断一个栈ST(最多元素为m)为空的条件是      。

 A.ST->top!

=0  B.ST->top==NULLC.ST->top!

=mD.ST->top==m

6.判断一个栈ST(最多元素为m)为满栈的条件是      。

 A.ST->top!

=0  B.ST->top==0C.ST->top!

=m-1D.ST->top==m

7.栈的特点是 1 ,队列的特点是 2 。

  A.先进先出      B.先进后出

8.一个队列的入队序列是1、2、3、4,则队列输出序列是    。

  A.4、3、2、1   B.1、2、3、4   C.1、4、3、2D.3、2、4、1

9.判断一个队列QU(最多元素为m)为空的条件是      。

A.QU->rear-QU->front==m  B.QU->rear-QU->front-1==m

C.QU->front==QU->rearD.QU->front-QU->rear+1

10.判断一个队列QU(最多元素为m)为满队列的条件是      。

A.QU->rear-QU->front==m  B.QU->rear-QU->front-1==m

C.QU->front==QU->rearD.QU->front-QU->rear+1

11.判断一个循环队列QU(最多元素为m)为空的条件是      。

A.QU->front==QU->rear  B.QU->front!

=QU->rear

C.QU->front==(QU->rear+1)%mD.QU->front!

=(QU->rear+1)%m

12.判断一个循环队列QU(最多元素为m)为满队列的条件是      。

A.QU->front==QU->rear  B.QU->front!

=QU->rear

C.QU->front==(QU->rear+1)%mD.QU->front!

=(QU->rear+1)%m

13循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是    。

  A.(rear-front+m)%mB.rear-front+1 C.rear-front-1 D.rear-front

14.栈和队列的共同点是    。

A.都是先进后出           B.都是先进先出  

C.只允许在端点处插入、删除元素D.没有共同点

填空题

1.线性表、栈和队列都是    结构,可以在线性表的 位置插入和删除元素;对于栈只能在 插入和删除元素;对于队列只能在 插入元素和   删除元素。

2.在一个长度为n的线性表的第i个元素(1≤i≤n)之前插入一个元素时,需向后移动   个元素。

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

4.若栈顶指针指向栈顶的空位,向栈中压入元素的操作是           。

5.若栈顶指针指向栈顶元素,则对栈进行退栈时的操作是           。

6.在一个循环队列中,队首指针指向队首元素的           。

7.从循环队列中删除一个元素时,其队头指针           。

8.在具有n个单元的循环队列中,队满时共有         个元素的。

9.一个栈的输入序列是12345,则栈的输出序列43512是     。

(填写“可能”或“不可能”)

10.一个栈的输入序列是12345,则栈的输出序列12345是     。

(填写“可能”或“不可能”)

第二章线性表(参考答案)

选择题:

1. B。

 2. C。

 3. C。

 4. A。

 5. B。

 6. D。

 7. B,A。

 8. B。

9. C。

 10. A。

 11. A。

 12. C。

 13. A。

 14. C。

(2. C。

堆栈讲究先进后出,后进先出选项1是abcde先入栈,然后依次出栈,正好是edcba

选项2是abcd先依次入栈,然后d出栈,e再入栈,e出栈。

选项c是错误的,不可能a先出栈。

选项4是a入栈,然后a出栈;b再入栈,b出栈……依此类推。

所以选c。

(13. A。

因为rear有可能会转一圈到front的后面,所以需要加一下m)

填空题:

1. 线性,任何,栈顶,队尾,队首。

 2. n-i+1。

 3. n-i。

 4. 先移动栈顶指针,后存入元素。

 5. 先取出元素,后移动栈顶指针。

 6. 前一个位置。

 7. 要加1 8. n-1。

 9. 不可能的。

 10. 可能的。

第三章链表

单项选择题

1.不带头结点的单链表head为空的判定条件是    。

  A.head==NULL  B.head->next==NULL  C.head->next==head  D.head!

=NULL

2.带头结点的单链表head为空的判定条件是    。

  A.head==NULL  B.head->next==NULL  C.head->next==head  D.head!

=NULL

3.非空的循环单链表head的尾结点(由指针p所指向)满足    。

  A.p->next==NULL  B.p==NULL  C.p->next==head  D.p==head

4.在循环双链表的p所指结点之后插入s所指结点的操作是    。

A.p->right=s;s->left=p;p->right->left=s;s->right=p->right;

B.p->right=s;p->right->left=s;s->left=p;s->right

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

当前位置:首页 > 工程科技 > 材料科学

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

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