数据结构题集答案解析 下载本文

内容发布更新时间 : 2024/5/5 11:06:28星期一 下面是文章的全部内容请认真阅读。

数据结构题集

第一章 绪论

一、单选题

1.在数据结构中,从逻辑上可以把数据结构分成【 C 】。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指【 A 】。 A.数据的存储结构 B.数据结构

C.数据结构的逻辑结构 D.数据元素之间的关系 3. 【 A 】是数据的最小单位,【 B 】是数据的基本单位。 A.数据项 B.数据元素 C.信息项 D.表元素

4. 计算机所处理数据一般具有某种内在联系,这是指【 B 】。

A.数据与数据之间存在某种关系 B.数据元素与数据元素之间存在某种关系 C.元素内部存在某种结构 D.数据项与数据项之间存在某种关系 5.算法分析的目的是【 C 】。

A.找出数据结构的合理性 B.研究输入和输出的关系 C.分析算法的效率以求改进 D.分析算法的易懂性

6.在存储数据时,不仅要考虑存储各数据元素的值,而且还要存储【 C 】。 A.数据处理的方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 7.算法分析的主要任务是分析【 D 】。 A.算法是否具有较好的可读性

B.算法中是否存储语法错误和逻辑错误 C.算法的功能是否符合设计要求

D.算法的执行时间与问题规模之间的关系。 8.数据的运算【 A 】。

A.效率与采用何种存储结构有关 B.是根据存储结构来定义的

C.有算术运算和关系运算两大类 D.必须用程序设计语言来描述

9.算法的计算量的大小称为算法的【 B 】。

A.效率 B.时间复杂度 C.现实性 D.难度 10.连续存储分配时,存储单元的地址【A 】。 A.一定连续 B.一定不连续

C.不一定连续 D.部分连续,部分不连续 二、判断题

1.数据元素是数据结构的最小单位【.× 】。

2.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构【×.】。 3.数据的逻辑结构指数据元素的各数据项之间的逻辑关系【×.】。 4.算法的优劣与算法的描述语言无关,但与使用的计算机有关【.× 】。 5.数据结构的抽象操作的定义与具体实现有关【.× 】。

三、填空题

1.数据的逻辑结构指 数据元素之间的逻辑关系 。 2.一个数据结构在计算机中的 表示 称为存储结构。

3.数据的物理结构主要包括 顺序存储结构 的表示和 链式存储结构 的表示。 4.数据逻辑结构包括 集合 、 线性结构 、 树 和 图 四种,树结构和图结构统称为 非线性结构 。

5.顺序存储方法把逻辑上 逻辑上相邻的元素 存储在物理位置 相邻的存储单元里;链式存储方法中结点间的逻辑关系是由 指针域 表示的。 6、数据结构研究的是 逻辑结构 和 物理结构 以及它们之间的相互关系,并对于这种结构定义相应的 运算 ,设计出相应的 算法 。 7.算法的执行时间是 问题规模n 的函数。

8.以下是4个算法所有语句频度之和的表达式,其中的复杂度相同的是 A和B 。

3232

A.TA(n)=2n+3n+1000 B.TB(n)=n-nlog2n-1000

222

C.TC(n)=nlog2n+n D.TD(n)=n+1000 四、解答题

1.简述数据的逻辑结构和存储结构的关系。

答:在数据结构中,逻辑结构和存储结构是密切相关的,存储结构不仅将数据元素存储到计算机中,而且还要表示各数据元素之间的逻辑关系。逻辑结构与计算机无关,存储结构是数据元素之间的关系在计算机中的表示。通常情况下,一种逻辑结构可以有多种存储结构,例如,线性结构可以采取顺序存储结构或链式存粗结构表示。 2.数据结构和数据类型有什么区别? 答:数据结构是相互间存在一种或多种特定关系的数据元素的集合,一般包括三个方面的内容:数据的逻辑结构、存储结构和多数据的运算。数据类型是一个值得集合和定义在这个值集上的一组操作的总称。数据结构重点考虑元素之间的关系,数据类型重点考虑数据的个体特征。

3.当为解决某一问题已经选定其数据的逻辑结构后,选择数据的存储结构时,应从哪些方面考虑?

答:通常从两个方面考虑:第一是算法实现的存储空间复杂度;第二是算法执行的时间复杂度。若存储空间难以确定,宜选择链式存储结构,否则选择顺序存储结构。若插入、删除操作频繁,则选链式存储结构,否则选择顺序存储结构。

第二章 线性表

一、单选题

1.链表不具备的特点是【 A 】。

A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估算存储空间 D.所需空间与其长度成正比 2.设线性表有n个元素,以下操作中,【 A 】在顺序表上实现比在链表上实现效率更高。 A.输出第i(1≤i≤n)个元素的值 B.顺序输出这n个元素

C.交换第1个与第2个元素的值

D.输出与给定值x相等的元素在线性表中的序号

3.如果最常用的操作是取第i个结点及其前驱,则采用【 D 】存储方法最节省时间。 A.单链表 B.双链表 C.线性链表 D.顺序表 4.线性表是具有n个【 C 】的有限序列(n≥0)。 A.表元素 B.字符 C.数据元素 D.数据项 5.下面关于线性表的叙述中,错误的是【 B 】。

A.线性表采用顺序存储,则必须占用一片连续的存储单元 B.线性表采用顺序存储,则便于插入和删除操作

C.线性表采用链式存储,则不必占用一片连续的存储单元 D.线性表采用链式存储,则便于插入和删除操作 6. 线性表的顺序存储结构是一种【 A 】。

A.随机存取的存储结构 B.顺序存取的存储结构 C.索引存取的存储结构 D.Hash存取的存储结构 7.单链表中增加一个头结点的目的是为了【 C 】。

A.使单链表至少有一个结点 B.标识表首结点的位置 C.方便运算的实现 D.说明单链表是线性表的链式存储

8.不带头结点的单链表(头指针为h)为空的条件是【 A 】。 A.h==NULL B.h->next==NULL C.h->next==h D.h!=NULL

9. 带头结点的单链表(头指针为h)为空的条件是【 B 】。 A.h==NULL B.h->next==NULL C.h->next==h D.h!=NULL

10.带头结点的循环双向链表(头指针为L)为空的条件是【 D 】。 A.L==NULL B.L->next->prior==NULL C.L->prior==NULL D.L->next==L

11.非空的循环单链表(头指针为head)的尾结点(由p指向)满足【 C 】。 A.p->next==NULL B.p==NULL C.p->next==head D.p==head

12.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用【 A 】最节省时间。 A.带头结点的双循环链表 B.单循环链表 C.带尾指针的单循环链表 D.单链表

13.若某线性表最常用的操作存取任意指定序号的元素和在表尾进行插入和删除,则选用【 A 】的存储方式最节省时间。