整理完整数据结构练习题含答案DOC.docx

上传人:b****6 文档编号:3092774 上传时间:2022-11-17 格式:DOCX 页数:32 大小:153.63KB
下载 相关 举报
整理完整数据结构练习题含答案DOC.docx_第1页
第1页 / 共32页
整理完整数据结构练习题含答案DOC.docx_第2页
第2页 / 共32页
整理完整数据结构练习题含答案DOC.docx_第3页
第3页 / 共32页
整理完整数据结构练习题含答案DOC.docx_第4页
第4页 / 共32页
整理完整数据结构练习题含答案DOC.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

整理完整数据结构练习题含答案DOC.docx

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

整理完整数据结构练习题含答案DOC.docx

整理完整数据结构练习题含答案DOC

(完整)数据结构练习题(含答案)(DOC)

编辑整理:

 

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)数据结构练习题(含答案)(DOC))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)数据结构练习题(含答案)(DOC)的全部内容。

数据结构练习题

习题1绪论

1。

1单项选择题

1.数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。

①A.操作对象   B.计算方法  C.逻辑结构  D.数据映象

②A.存储结构B.关系C.运算D.算法

2。

数据结构DS(DataStruct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。

①A.算法B.数据元素C.数据操作D.数据对象

②A.操作B.映象C.存储D.关系

3。

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

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

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

4.算法分析的目的是①,算法分析的两个主要方面是②。

①A.找出数据结构的合理性B。

研究算法中的输入和输出的关系

C。

分析算法的效率以求改进D。

分析算法的易懂性和文档性

②A.空间复杂性和时间复杂性B.正确性和简明性

C。

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

5。

计算机算法指的是①,它必具备输入、输出和②等五个特性。

①A.计算方法B.排序方法

C。

解决问题的有限运算序列D。

调度方法

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

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

1.2填空题(将正确的答案填在相应的空中)

1。

数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。

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

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

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

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

6。

算法的五个重要特性是____,____,____,____,____。

7.分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是____。

for(i=0;i

for(j=0;j〈n;j++)

A[i][j]=0;

8.分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是____.

for(i=0;i

for(j=0;j

A[i][j]=0;

9。

分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是____。

s=0;

for(i=0;i〈n;i++)

for(j=0;j〈n;j++)

for(k=0;k

s=s+B[i][j][k];

sum=s;

10.分析下面算法(程序段)给出最大语句频度,该算法的时间复杂度是____.

i=s=0;

while(s〈n)

{i++;

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

11.分析下面算法(程序段)给出最大语句频度,该算法的时间复杂度是____。

i=1;

while(i〈=n)

i=i*2;

1.3算法设计题

1.试写一算法,自大到小依次输出顺序读入的三个数X,Y和Z的值。

2.试写一算法,求出n个数据中的最大值.写出最大语句频度,该算法的时间复杂度。

习题答案

1.11。

C,A2。

B,D3.C4。

C,A5。

C,B

1。

21。

线性结构、树形结构、图形结构,非线性结构

2。

没有、1、没有、1

3.前驱、1、后续、任意多个

4。

任意多个

5.一对一、一对多、多对多

6.有穷性、确定性、可行性、输入、输出

7。

最大语句频度:

n2,时间复杂度:

.O(n2)

8.最大语句频度:

n(n+1)/2,时间复杂度:

.O(n2)

9.最大语句频度:

n3,时间复杂度:

.O(n3)

10.最大语句频度:

n

,时间复杂度:

.O(n

11。

最大语句频度:

log2n,时间复杂度:

O(log2n)

 

习题2线性表

2。

1单项选择题

1.一个向量(即一批地址连续的存储单元)第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是____.

A。

110B.108C.100D。

120

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

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

3。

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

A。

正确B.不正确

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

A.必须是连续的B.部分地址必须是连续的

C.一定是不连续的D.连续或不连续都可以

5.在以下的叙述中,正确的是___。

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

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

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

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

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

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

A.正确B.不正确

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

A.head==NULLB。

head->next==NULL

C。

head->next==headD。

head!

=NULL

8。

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

A。

head==NULLB.head->next==NULL

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

=NULL

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

A.p—>next==NULLB。

p==NULL

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

10。

在双向循环链表的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;

11。

在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。

A.s—>next=p->next;p—〉next=s;B。

p-〉next=s—〉next;s—〉next=p;

B。

q—>next=s;s->next=p;C.p-〉next=s;s—〉next=q;

12.在一个单链表中,若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;C.p—〉next=s;s—〉next=p;

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

A。

p—〉next=p—〉next->next;B.p=p-〉next;p—>next=p—〉next—〉next;

C.p—>next=p->next;D。

p=p—〉next—〉next;

14.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较____个结点。

A。

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

15.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是____.

A。

O

(1)B.O(n)C.O(n2)D.O(nlog2n)

16.给定有n个元素的向量,建立一个有序单链表的时间复杂度是____。

A.O

(1))B.O(n)C。

O(n2)D.O(n*log2n)

2.2填空题(将正确的答案填在相应的空中)

1。

单链表可以做____的链接存储表示。

2.在双链表中,每个结点有两个指针域,一个指向______,另一个指向_____。

3.在一个单链表中p所指结点之前插入一个s(值为e)所指结点时,可执行如下操作:

q=head;

while(q-〉next!

=p)q=q—〉next;

s=newNode;s—〉data=e;

q—>next=;//填空

s-〉next=;//填空

4。

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

q=p—>next;

p—>next=____;//填空

delete;//填空

5.在一个单链表中p所指结点之后插入一个s所指结点时,应执行s—〉next=____和p->next=____的操作。

6。

对于一个具有n个结点的单链表,在已知p所指结点后插入一个新结点的时间复杂度是____;在给定值为x的结点后插入一个新结点的时间复杂度是____。

2。

3算法设计题:

1.设顺序表va中的数据元数递增有序.试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。

StatusInsert_SqList(SqList&va,intx)

{

if(va.length+1>maxsize)returnERROR;

va。

length++;

for(i=va。

length—1;va。

elem[i]>x&&i>=0;i-—)

va。

elem[i+1]=va.elem[i];

va。

elem[i+1]=x;

returnOK;

2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,a2,….an)逆置为(an,an—1,….,a1)。

voidreverse(inta[],intsize)

{

inti,j,tmp;

for(i=0,j=size—1;i

{

tmp=a[i];

a[i]=a[j];

a[j]=tmp;

}

3.已知线性表

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

当前位置:首页 > 农林牧渔 > 农学

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

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