77范文网 - 专业文章范例文档资料分享平台

数据结构习题集(含答案)

来源:网络收集 时间:2019-01-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《数据结构习题集》

1 习题 习题习题 习题1 绪论 绪论绪论

绪论 1.1 单项选择题 单项选择题单项选择题

单项选择题 1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的① 、数据信

息在计算机中的② 以及一组相关的运算等的课程。

① A.操作对象 B.计算方法 C.逻辑结构 D.数据映象 ② A.存储结构 B.关系 C.运算 D.算法

2. 数据结构DS(Data Struct)可以被形式地定义为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. 在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后续结点,其余每个结点有且只有 个后续 结点。 23. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个 直接前驱结点,叶子结点没有 结点,其余每个结点的直接后续结点可 以 。

4. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。 5. 线性结构中元素之间存在 关系,树形结构中元素之间存在 关 系,图形结构中元素之间存在 关系。

6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。 7. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是 __ __。

for (i=0;i

for (j=0;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

for (j=0;j

10. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是 __ __。 i=s=0;

while (s

{ i++;

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

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

while (i<=n)

i=i*2; 31.3 算法设计题 算法设计题算法设计题

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

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

习题答案 1.1 1. C , A 2. B,D 3. C 4. C, A 5. C,B 1.2 1. 线性结构、树形结构、图形结构,非线性结构 2. 没有、1、没有、1

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

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

6. 有穷性、确定性、可行性、输入、输出 7. 最大语句频度:n2 , 时间复杂度:. O (n2)

8. 最大语句频度:n (n+1)/2 , 时间复杂度:. O (n2) 9. 最大语句频度:n3

, 时间复杂度:. O (n3) 10. 最大语句频度:n1 2

, 时间复杂度:. O (n1 2)

11. 最大语句频度:log2n , 时间复杂度:. O (log2n )

习题 习题习题 习题2 线性表 线性表线性表

线性表 2.1 单项选择题 单项选择题单项选择题

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

A. 110 B. 108 C. 100 D. 120 42. 线性表的顺序存储结构是一种__ _的存储结构,而链式存储结构是一种__ _ 的存储结构。

A.随机存取 B.索引存取 C.顺序存取 D.散列存取 3. 线性表的逻辑顺序与存储顺序总是一致的,这种说法__ _。 A. 正确 B. 不正确

4. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址__ _。 A. 必须是连续的 B. 部分地址必须是连续的 C. 一定是不连续的 D. 连续或不连续都可以 5. 在以下的叙述中,正确的是__ _。

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

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

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

6. 每种数据结构都具备三个基本运算:插入、删除和查找,这种说法__ _。 A. 正确 B. 不正确

7. 不带头结点的单链表head为空的判定条件是____。 A. head= =NULL B. head->next= =NULL C. head->next= =head D. head!=NULL 8. 带头结点的单链表head为空的判定条件是____。 A. head= =NULL B. head->next= =NULL C. head->next= =head D. head!=NULL

9. 非空的循环单链表head的尾结点(由p所指向)满足____。 A. p->next= =NULL B. p= =NULL C. p->next= =head D. 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所指结点的后续结点,则执行____。 5A. 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. n B. n/2 C. (n-1)/2 D. (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= new Node; 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插入到顺序表的适当 位置上,以保持该表的有序性。 62.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,

a2,…. an)逆置为(an, an-1,…., a1)。 3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算

法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删 除结点空间。

4. 试写一算法,实现单链表的就地逆置(要求在原链表上进行)。 习题答案

习题答案习题答案

习题答案 2.1 1. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B 9. C 10. D 11.B 12.B 13.A 14.D 15.B 16.C 2.2 1. 线性结表 2. 前驱结点、后继结点 3. s, p 4. q->next, q 5. p->next, s 6. O (1) , O (n) 习题 习题习题

习题3 栈和队列 栈和队列栈和队列

栈和队列 3.1 单项选择题 单项选择题单项选择题

单项选择题 1. 一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是____。 A. edcba B. decba C. dceab D. abcde

2. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构习题集(含答案)在线全文阅读。

数据结构习题集(含答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/404194.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: