数据结构李春葆习题与解析.docx

上传人:b****1 文档编号:1334856 上传时间:2022-10-20 格式:DOCX 页数:28 大小:86.83KB
下载 相关 举报
数据结构李春葆习题与解析.docx_第1页
第1页 / 共28页
数据结构李春葆习题与解析.docx_第2页
第2页 / 共28页
数据结构李春葆习题与解析.docx_第3页
第3页 / 共28页
数据结构李春葆习题与解析.docx_第4页
第4页 / 共28页
数据结构李春葆习题与解析.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

数据结构李春葆习题与解析.docx

《数据结构李春葆习题与解析.docx》由会员分享,可在线阅读,更多相关《数据结构李春葆习题与解析.docx(28页珍藏版)》请在冰豆网上搜索。

数据结构李春葆习题与解析.docx

数据结构李春葆习题与解析

数据结构(C语言篇)―习题与解析(修订版)

清华大学出版社

一、绪论

选择题

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

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

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

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

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

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

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

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

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

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

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

5.算法分析的目的是C,算法分析的两个主要方面是AB。

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

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

2A.空间复杂度和时间复杂度B.正确性和简单性

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

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

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

D.调度方法

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

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

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

A.正确B.不正确

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

D。

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

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

A.线性表的存储结构优于链式存储结构B.二维数组是其数据元素为线性表的线性表

队列的操作方式是D.先进后出栈的操作方式是C.

先进先出

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

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

A.正确B.不正确

填空题

1.数据逻辑结构包括三种类型线性结构、树形结构和

图形结构,树形结构和图形结构合称为非线性结构。

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

3.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续可以任意多个。

4.在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

5.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多

关系。

6.算法的五个重要特性是有穷性、确定性、可行性、输入、输出。

7.下面程序段的时间复杂度是O(m*n)。

for(i=0;i

for(j=0;j

A[i][j]=0;

8.下面程序段的时间复杂度是O(n)。

i=s=0;

while(s

{

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

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

}

9.下面程序段的时间复杂度是O(n2)。

s=0;

for(i=0;i

for(j=0;j

s+=B[i][j];

sum=s;

10.下面程序段的时间复杂度是O(log3n)。

i=1;

while(i<=n)

i=i*3;

二、线性表

单项选择题.

,则2100,每个元素的长度为1.一个向量第一个元素的存储地址是。

B第5个元素的地址是

D.120

C.100A.110B.108,则栈的不可能输出序列是ec、d、2.一个栈的入栈序列是a、b、。

CD.abcde

C.dceabA.edcbaB.decba

、、pn,其输出序列为p、12、3、…、3.若一个栈的入栈序列是21。

C,则p为、…p、p,若p=nin31不确定D.C.n-i+1B.n=iA.i

A4.栈结构通常采用的两种存储结构是散列方式和索引方式B.线性存储结构和链表存储结构A.

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

性存储结构5.判断一个栈ST(最多元素为m)为空的条件是B。

A.ST->top!

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

=mD.

ST->top==m

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

A.ST->top!

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

=m-1D.

ST->top==m-1

7.栈的特点是B,队列的特点是A。

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

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

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

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

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

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

1

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

A。

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

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

1

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

A.QU->front==QU->rearB.QU->front!

=QU->rear

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

=(QU->rear

+1)%m

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

A.QU->front==QU->rearB.QU->front!

=QU->rear

D.QU->front!

=(QU->rear

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

+1)%m

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

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.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.不带头结点的单链表head为空的判定条件是。

A.head==NULLB.head->nxt==NULL

C.head->next==headD.head!

=NULL

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

A.head==NULLB.head->nxt==NULL

C.head->next==headD.head!

=NULL

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

A.p->next==NULLB.p==NULLC.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=p->right;

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

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

所指结点的前驱结点,若在p所指结点是q在一个单链表中,已知5.

q和p之间插入s结点,

则执行。

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

p;

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

6.在一个单链表中,已知p所指结点不是最后结点,在p之后插入s所指结点,则执行。

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

s;

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

7.在一个单链表中,若删除p所指结点的后续结点,则执行。

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

=pB.

p->next=p->next->next;

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

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

结点时,在查找成n个结点的单链表中查找其值等于x9.从一个具有个结点。

功的情况下,需平均比较

D.(n+1)/2

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

个结点的有序单链表中插入一个新结点并仍然有序在一个具

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

当前位置:首页 > 小学教育 > 英语

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

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