数据结构练习题及答案

合集下载

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。

A. 编写代码的时间B. 代码的长度C. 执行代码所需的时间D. 执行代码所需的指令条数2. 下列关于队列的描述,错误的是()。

A. 队列是先进先出(FIFO)的线性表B. 队列允许在一端进行插入操作C. 队列的插入操作称为入队D. 队列的删除操作称为出栈3. 对于长度为n的有序数组,使用二分查找法查找一个元素的平均时间复杂度是()。

A. O(n)B. O(n^2)C. O(log n)D. O(1)4. 在图的遍历中,深度优先搜索(DFS)使用的数据结构是()。

A. 栈B. 队列C. 链表D. 数组5. 哈希表的冲突可以通过多种方式解决,以下哪种不是解决冲突的方法?()A. 开放寻址法B. 链地址法C. 线性探测法D. 排序法6. 一个完全二叉树共有700个节点,它的最大节点数是()。

A. 700B. 701C. 1400D. 14017. 快速排序算法的最坏情况发生在()。

A. 每次选择的基准都是最大值B. 数据已经有序C. 数据已经完全逆序D. 所有数据元素相等8. 在一个具有n个节点的二叉搜索树中,最坏情况下查找一个元素的时间复杂度是()。

A. O(n)B. O(log n)C. O(n^2)D. O(1)9. 堆排序算法中,将一个堆调整为最大堆或最小堆的过程称为()。

A. 堆调整B. 堆构建C. 堆分解D. 堆维护10. 以下哪个不是B树的特性?()A. 所有键值都存储在内部节点和叶子节点中B. 所有叶子节点都在同一层上C. 每个内部节点至多有m个子节点D. 每个内部节点的非叶子子节点都至少有m/2个子节点二、简答题(每题5分,共30分)1. 什么是递归?请举例说明递归算法的应用场景。

2. 请简述图的邻接矩阵和邻接表两种存储方式的优缺点。

3. 解释什么是平衡二叉树,并说明它为什么在实际应用中很重要。

数据结构习题及答案

数据结构习题及答案

数据结构习题习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。

A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。

A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。

A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。

例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。

2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。

3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。

例如构成一个数据元素的字段、域、属性等都可称之为_数据项。

4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。

5、数据的逻辑结构是指数据之间的逻辑关系。

逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。

因此逻辑结构可以看作是从具体问题抽象出来的数学模型。

6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。

存储结构是逻辑结构在计算机里的实现,也称之为映像。

7、数据的运算是指对数据施加的操作。

它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。

常用的有:查找、排序、插人、删除、更新等操作。

8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。

9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。

数据结构练习题线性表习题及答案

数据结构练习题线性表习题及答案

数据结构练习题线性表习题及答案精品文档第二章线性表一.名词解释1.线性结构2.数据结构的顺序实现3.顺序表4.链表5.数据结构的链接实现6. 建表7.字符串8.串9.顺序串 10.链串二、填空题1.为了便于讨论,有时将含n(n>=0)个结点的线性结构表示成(a,a,……a),其中每n12个a代表一个______。

a称为______结点,a称为______结点,i称为a在线性表中的________ii1n或______。

对任意一对相邻结点a、a(1<=i<n),a称为a的直接______a称为a的直iii┼1i┼1┼i1i接______。

< bdsfid="75" p=""></n),a称为a的直接______a称为a的直iii┼1i┼1┼i1i接______。

<>2.为了满足运算的封闭性,通常允许一种逻辑结构出现不含任何结点的情况。

不含任何结点的线性结构记为______或______。

3.线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接______外,其他结点有且仅有一个直接______;除终端结点没有直接______外,其它结点有且仅有一个直接______.4.所有结点按1对1的邻接关系构成的整体就是______结构。

5.线性表的逻辑结构是______结构。

其所含结点的个数称为线性表的______,简称______.6.表长为O的线性表称为______7.线性表典型的基本运算包括:______、______、______、______、______、______等六种。

8.顺序表的特点是______。

9.顺序表的类型定义可经编译转换为机器级。

假定每个datatype 类型的变量占用k(k>=1)个内存单元,其中,b是顺序表的第一个存储结点的第一个单元的内存地址,那么,第i个结点a的存储地址为______。

数据结构练习试卷1(题后含答案及解析)

数据结构练习试卷1(题后含答案及解析)

数据结构练习试卷1(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。

1.数据结构主要研究数据的______。

A.逻辑结构B.存储结构C.逻辑结构和存储结构D.逻辑结构和存储结构及其运算的实现正确答案:D解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

数据结构一般包括三方面的内容:①数据之间的逻辑关系。

从逻辑关系上描述数据,与数据的存储无关。

②数据的存储结构。

存储结构分为顺序结构和链式结构,是逻辑结构在计算机存储器中的表示,它包括数据元素的表示和关系的表示。

③数据的运算。

也就是在数据上所施加的一系列操作。

只考虑操作的功能是怎样的,暂不考虑如何实现。

综上所述,本题的正确答案为选项D。

知识模块:数据结构2.在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。

按逻辑结构的不同,数据结构通常可分为______两类。

A.线性结构和非线性结构B.紧凑结构和稀疏结构C.动态结构和静态结构D.内部结构和外部结构正确答案:A解析:在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。

按逻辑结构的不同,数据结构通常可分为线性结构和非线性结构两类。

本题正确答案为选项A。

知识模块:数据结构3.下面叙述不正确的是______。

A.算法的执行效率与数据的存储结构有关B.算法的空间复杂度是指执行这个算法所需要的内存空间C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.算法的时间复杂度是指执行这个算法所需要的时间正确答案:D解析:算法的时间复杂度是指执行算法所需要的计算工作量,故D选项不正确。

知识模块:数据结构4.数据的存储结构是指______。

A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据正确答案:B解析:数据的存储结构是数据元素在计算机存储器内的表示。

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。

6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。

7. 树的根结点的度为______,度为0的结点称为______。

8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。

三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。

10. 简述二叉树的遍历方法。

11. 简述图的存储结构及其特点。

四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。

13. 编写一个算法,实现队列的出队操作。

五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。

15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。

答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。

《数据结构》题库及答案

《数据结构》题库及答案

《数据结构》题库及答案一、选择题1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。

a. 随机存储;b.顺序存储;c. 索引存取;d. HASH 存取2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。

a. edcba;b. decba;c. dceab;d.abcde3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。

a. 4,3,2,1;b. 1,2,3,4;c. 1,4,3,2;d.3,2,4,14.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。

a. s->nxet=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;5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。

a.联接b.模式匹配c.求子串d.求串长6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。

a. 90b.180c.240d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。

a. p->lch==NULLb. p->ltag==1c. p->ltag==1且p->lch=NULLd. 以上都不对8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______A 、(A ,B ,C ,D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D )9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。

数据结构练习附答案

一、单项选择题1.逻辑关系是指数据元素间的()A.类型 B.存储方式 C.结构 D.数据项2.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A.顺序表 B.用头指针表示的单循环链表C. 用尾指针表示的单循环链表D. 单链表3.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A.front=front+1 B.front= (front+1)%(m-1)C.front=(front-1)%m D.front=(fro nt+1)%m4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为( )。

A.rear%n==front B.(front+l)%n==rearC.rear%n-1==front D.(rear+l)%n==front5.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为( )。

A.rear%n==front B.front+l=rearC.rear==front D.(rear+l)%n=front6.已知一颗二叉树上有92个叶子结点,则它有____个度为2的结点。

( )A. 90B. 91C. 92D. 937.在一棵非空二叉树的中序遍历序列中,根结点的右边_____。

A. 只有右子树上的所有结点B. 只有右子树上的部分结点C. 只有左子树上的所有结点D. 只有左子树上的部分结点8.有n条边的无向图的邻接表存储法中,链表中结点的个数是( )个。

A. nB. 2nC. n/2D. n*n9.判断有向图是否存在回路,除了可利用拓扑排序方法外,还可以利用()。

A. 求关键路径的方法B.求最短路径的方法C. 深度优先遍历算法D.广度优先遍历算法10.对线性表进行二分查找时,要求线性表必须( )。

数据结构考试题目及答案pdf

数据结构考试题目及答案pdf一、单项选择题(每题2分,共10分)1. 在数据结构中,线性结构和非线性结构的主要区别在于()。

A. 数据元素之间是否有逻辑关系B. 是否有且仅有一个根节点C. 是否有多个根节点D. 数据元素之间是否有顺序关系答案:A2. 链表中每个节点包含数据元素和()。

A. 一个指针B. 多个指针C. 一个数据域D. 一个数据域和一个指针答案:D3. 在二叉树的遍历中,先序遍历的顺序是()。

A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表解决冲突的方法不包括()。

A. 开放寻址法B. 链地址法C. 线性探测法D. 二分查找法答案:D5. 堆是一种特殊的完全二叉树,其特点是()。

A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都大于或等于其子节点的值D. 每个节点的值都小于或等于其子节点的值答案:C二、填空题(每题2分,共10分)1. 在顺序表中,插入一个元素的平均时间复杂度为 O(n) 。

2. 栈是一种特殊的线性表,其特点是后进先出(LIFO),即后进的元素先出栈。

3. 快速排序的时间复杂度在最坏情况下为 O(n^2) 。

4. 广义表的表示形式为 (a, b, c) ,其中a、b、c可以是数据元素或子表。

5. 在图的遍历中,深度优先搜索(DFS)使用的是栈数据结构。

三、简答题(每题10分,共20分)1. 请简述二叉搜索树和平衡二叉树的区别。

答:二叉搜索树是一种特殊的二叉树,其中每个节点的左子树只包含小于该节点的值,右子树只包含大于该节点的值。

平衡二叉树除了满足二叉搜索树的性质外,还要求每个节点的左子树和右子树的高度差不超过1,以保持树的平衡,从而提高查找效率。

2. 什么是图的连通分量?请举例说明。

答:图的连通分量是指图中的最大的连通子图。

如果一个图不是连通的,那么它将被划分为若干个连通分量,每个连通分量内部的顶点都是相互连通的,但不同分量之间没有直接的边相连。

数据结构练习题及参考答案

《数据结构》练习题一、解答题(共50分)1、(8分)假设用于通讯的电文字符集及其出现的频率如下表所示。

请为这8个字符设计哈夫曼编码,并画出其哈夫曼树,计算WPL 。

2. (8分)若一棵二叉树中序遍历和后序遍历序列分别为:DBEHGAFIC 和DHGEBIFCA 。

试画出这棵二叉树,并写出其先序遍历和层序遍历序列。

3.(16分)以下无向网络以邻接表为存储结构(假设邻接表的顶点表按字母a 、b 、c 、d 、e 、f 、g 、h 的顺序依次存储,邻接表的边表结点按顶点的下标由小到大链接)。

请画出其邻接表,并写出从顶点f 出发,分别进行深度和广度优先遍历的序列,写出用Prime 方法从顶点c开始产生最小生成树的边的序列。

4.(8分)已知键值序列为(44,39,67,25, 52,59,43,84,54,58,15,26,12,73,92,69),取填充因子α=0.8,采用线性探查法处理冲突,试构造散列表。

⒌(5分)已知一组记录为(67,88,15,12,60,37,7,31,45,81),用希尔排序方法进行排序,d1=5,d2=3,d3=1,则第二趟的排序结果是( )。

⒍(5分)已知一组记录为(67,88,15,12,60,37,7,31,45,81) ,用堆(大根堆)排序方法进行排序,第一趟的排序结果是( )。

二、完善程序(共20分,每空2分)1.假设一组递减有序的原始数据存储在数组r 中,存放元素的下标下限为low,下标上字符 出现频率 a 0.05 b 0.03 c 0.24 d 0.16 e 0.08 f 0.24 g 0.18 h0.02限为high,以下是在数组中查找数值为k的折半查找算法。

请填空完善程序。

int BinSearch(int r[ ], int low,int high,int k){ int l,h,m;l= low; h= high;while ( ⑴){m= ⑵;if (k < r[m]) ⑶;else if (k > r[m]) ⑷;else return m;}return 0;}2. 以下程序功能是将数组r中,从下标first到end之间的元素进行快速排序的分区。

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪种数据结构是线性结构?A. 栈B. 树C. 队列D. 图答案:A2. 在计算机科学中,什么是最基本的数据结构?A. 数组B. 链表C. 栈D. 树答案:C3. 下列哪种操作的时间复杂度是O(1)?A. 在链表中插入元素B. 在数组中查找元素C. 在树中删除节点D. 在图中寻找最短路径答案:B4. 下列哪种数据结构常常用于实现栈和队列?A. 数组B. 链表C. 树D. 图答案:A5. 下列哪种数据结构是有序的?A. 栈B. 队列C. 链表D. 图答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种后进先出(____)的数据结构。

答案:线性表2. 队列是一种先进先出(____)的数据结构。

答案:线性表3. 链表是一种____数据结构,由一系列节点组成。

答案:非线性4. 二叉树是一种特殊的树,它的每个节点最多有两个____。

答案:子节点5. 哈希表是通过____函数将关键字映射到表中的位置来访问数据。

答案:哈希三、判断题(每题2分,共20分)1. 树是一种线性结构。

()答案:错误2. 链表的插入和删除操作时间复杂度都是O(1)。

()答案:错误3. 图是一种线性结构。

()答案:错误4. 哈希表是一种基于顺序结构的的数据结构。

()答案:错误5. 在数据结构中,时间复杂度O(n)表示算法随着输入规模的增加而线性增长。

()答案:正确四、简答题(每题10分,共30分)1. 请简述栈和队列的特点和应用场景。

答案:栈是一种后进先出(LIFO)的数据结构,应用场景包括函数调用栈、表达式求值等。

队列是一种先进先出(FIFO)的数据结构,应用场景包括任务队列、缓冲区等。

2. 请简述链表的优缺点。

答案:链表的优点包括动态扩容、插入和删除操作时间复杂度为O(1)、可以方便地实现各种复杂数据结构。

缺点包括占用内存空间较大、不如数组支持随机访问。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仅供个人参考 不得用于商业用途 第1章 绪论 一、 判断题 1. 数据的逻辑结构与数据元素本身的内容和形式无关。 (√) 2. 一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 (√) 3. 数据元素是数据的最小单位。 (×) 4. 数据的逻辑结构和数据的存储结构是相同的。 (×) 5. 程序和算法原则上没有区别,所以在讨论数据结构时可以通用。 (×) 6. 从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 (√) 7. 数据的存储结构是数据的逻辑结构的存储映象。 (√) 8. 数据的物理结构是指数据在计算机内实际的存储形式。 (√) 9. 数据的逻辑结构是依赖于计算机的。 (×) 10. 算法是对解题方法和步骤的描述。 (√) 二、填空题 1. 数据有逻辑结构和 存储结构 两种结构。 2. 数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构 。 3. 数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构 。 4. 树形结构 和图形结构 合称为非线性结构。 5. 在树形结构中,除了树根结点以外,其余每个结点只有1个前驱结点。 6. 在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个 。 7. 数据的存储结构又叫物理结构 。 8. 数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储 。 9. 线性结构中的元素之间存在一对一 的关系。 10. 树形结构中的元素之间存在一对多 的关系。 11. 图形结构的元素之间存在多对多 的关系。 12. 数据结构主要研究数据的逻辑结构、存储结构和算法(或运算) 3个方面的内容。 13. 数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系 有限集合。 14. 算法是一个有穷指令 的集合。 15. 算法效率的度量可以分为事先估算法和事后统计法 。 16. 一个算法的时间复杂度是算法 输入规模 的函数。 17. 算法的空间复杂度是指该算法所耗费的存储空间 ,它是该算法求解问题规模的n的函数。 18. 若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O( nlog2n) 。 19. 若一个算法的语句频度之和为T(n)=3n+nlog2+n2,则算法的时间复杂度为O(n2) 。 20. 数据结构是一门研究非数值计算的程序问题中计算机的操作对象,以及它们之间的关系和运算的学科。 三、选择题 1. 数据结构通常是研究数据的(A)及它们之间的相互关系。 A.存储结构和逻辑结构 B.存储和抽象 C.联系和抽象 D.联系与逻辑 2. 在逻辑上可以把数据结构分成(C)。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构。 3. 数据在计算机存储内表示时,物理地址和逻辑地址相同并且是连续的,称之为(C)。 A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构 4. 非线性结构中的每个结点(D)。 A.无直接前驱结点. B.无直接后继结点. 仅供个人参考 不得用于商业用途 C.只有一个直接前驱结点和一个直接后继结点D.可能有多个直接前驱结点和多个直接后继结点 5. 链式存储结构所占存储空间(A)。 A.分两部分,一部分存放结点的值,另一个部分存放表示结点间关系的指针。 B.只有一部分,存放结点的值。 C.只有一部分,存储表示结点间关系的指针。 D.分两部分,一部分存放结点的值,另一部分存放结点所占单元素 6. 算法的计算量大小称为算法的(C)。 A.现实性 B.难度 C.时间复杂性 D.效率 7. 数据的基本单位(B)。 A.数据结构 B.数据元素 C.数据项 D.文件 8. 每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储空间里,这种存储结构称为(A)结构。 A.顺序结构 B.链式结构 C.索引结构 D.散列结构 9. 每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是(B)。 A.顺序 B.链式 C.索引 D.散列 10. 以下任何两个结点之间都没有逻辑关系的是(D)。 A.图形结构 B.线性结构 C.树形结构 D.集合 11. 在数据结构中,与所使用的计算机无关的是(C)。 A.物理结构 B.存储结构 C.逻辑结构 D.逻辑和存储结构 12. 下列4种基本逻辑结构中,数据元素之间关系最弱的是(A)。 A.集合 B.线性结构 C.树形结构 D.图形结构 13. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的(A)。 A.逻辑结构 B.存储结构 C.逻辑实现 D.存储实现 14. 每一个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明结点存储位置的表,该存储方式是(C)存储方式。 A.顺序 B.链式 C.索引 D.散列 15. 算法能正确的实现预定功能的特性称为算法的(A)。 A.正确性 B.易读性 C.健壮性 D.高效性 16. 算法在发生非法操作时可以作出相应处理的特性称为算法的(C)。 A.正确性 B.易读性 C.健壮性 D.高效性 17. 下列时间复杂度中最坏的是(D)。 A.O(1) B.O(n) C.O( log2n) D.O(n2) 18. 下列算法的时间复杂度是(D)。 for(i=0;ifor(j=o;i c[i][j]=i+j; A.O(1) B.O(n) C.( log2n) D.O(n2) 19. 算法分析的两个主要方面是(A)。 A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 20. 计算机算法必须具备输入、输出和(C)。 A.计算方法 B.排序方法 C.解决问题的有限运算步骤D.程序设计方法 仅供个人参考 不得用于商业用途 第2章 线性表 一、判断题 1. 线性表的链式存储结构优于顺序存储。 (×) 2. 链表的每个结点都恰好包含一个指针域。 (×) 3. 在线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。 (√) 4. 顺序存储方式的优点是存储密度大,插入、删除效率高。 (×) 5. 线性链表的删除算法简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。 (×) 6. 顺序表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 (×) 7. 线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。 (√) 8. 线性表采用顺序存储,必须占用一片连续的存储单元。 (√) 9. 顺序表结构适宜进行顺序存取,而链表适宜进行随机存取。 (×) 10. 插入和删除操作是数据结构中是最基本的两种操作,所以这两种操作在数组中也经常使用。(×) 二、填空题 1. 顺序表中逻辑上相邻的元素在物理位置上必须相邻。 2. 线性表中结点的集合是有限的,结点间的关系是一对一关系。 3. 顺序表相对于链表的优点是节省存储和随机存取。 4. 链表相对于顺序表的优点是插入、删除方便。 5. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快速度存取线性表中的元素时,应采用 顺序 存储结构。 6. 顺序表中访问任意一个结点的时间复杂度均为O(1)。 7. 链表相对于顺序表的优点是插入、删除方便;缺点是存储密度小。 8. 在双向链表中要删除已知结点*P,其时间复杂度为O(1)。 9. 在单向链表中要在已知结点*P之前插入一个新结点,需找到*P的直接前驱结点的地址,其查找的时间复杂度为O(n)。 10. 在单向链表中需知道头指针才能遍历整个链表。 11. 线性表中第一个结点没有直接前驱,称为开始结点。 12. 在一个长度为n的顺序表中删除第i个元素,要移动 n-i 个元素。 13. 在一个长度为n的顺序表中,如果要在第i个元素前插入一个元素,要后移 n-i+1 个元素。 14. 在无头结点的单向链表中,第一个结点的地址存放在头指针中,而其他结点的存储地址存放在 前趋 结点的指针域中。 15. 线性表的元素总数不确定,且经常需要进行插入和删除操作,应采用 链子 存储结构。 16. 在线性表中的链式存储中,元素之间的逻辑关系是通过 指针 决定。 17. 在双向链表中,每个结点都有两个指针域,它们一个指向其 前趋 结点,另一个指向其后继结点。 18. 对一个需要经常进行插入和删除操作的线性表,采用 链式 存储结构为宜。 19. 双向链表中,设P是指向其中待删除的结点,则需要执行的操作为p->prior->next=p->next;p->next->prior=p->prior 20. 在如图所示的链表中,若在指针P所在的结点之后插入数据域值为a和b的两个结点,则可用语句S->next->next=p->next和P-> next=S;来实现该操作。 p ∧ a b s 仅供个人参考 不得用于商业用途 三、 选择题 1. 在具有n个结点的单向链表中,实现( A)的操作,其算法的时间复杂度都是O(n). A.遍历链表或求链表的第i个结点 B.在地址为P的结点之后插入一个结点 C.删除开始结点 D.删除地址为P的结点的后继结点 2. 设a、b、c为3个结点,p、10、20分别代表它们的地址,则如下的存储结构称为( B )。 p a 10 b 20 c ∧ A.循环链表 B.单向链表 C.双向循环链表 D.双向链表 3. 单向链表的存储密度( C )。 A.大于1 B.等于1 C.小于1 D.不能确定 4. 已知一个顺序存储的线性表,设每个结点占m个存储单元,若第一个结点的地址为B,则第i个结点的地址为( A )。 A.B+(i-1)×m B.B+i×m C.B-i×m D.B+(i+1)×m 5. 在有n个结点的顺序表上做插入、删除结点运算的时间复杂度为( B )。 A.O(1) B.O(n) C. O(n2) D.O( log2n) 6. 设front、rear分别为循环双向链表结点的左指针和右指针,则指针P所指的元素是双循环链表L的尾元素的条件是( D )。 A.P= =L B.P->front= =L C.P= =NULL D.P->rear= =L 7. 两个指针P和Q,分别指向单向链表的两个元素,P所指元素是Q所指元素前驱的条件是( B ) A.P->next= =Q->next B.P->next= =Q C.Q->next= =P D.P==Q 8. 用链表存储的线性表,其优点是( C )。 A.便于随机存取 B.花费的存储空间比顺序表少 C.便于插入和删除 D.数据元素的物理顺序与逻辑顺序相同 9. 在单链表中,增加头结点的目的是( C )。 A.使单链表至少有一个结点 B.标志表中首结点的位置 C.方便运算的实现 D.说明该单链表是线性表的链式存储结构 10. 下面关于线性表的叙述中,错误的是( D )关系。 A.顺序表必须占一片地址连续的存储单元B.顺序表可以随机存取任一元素 C.链表不必占用一片地址连续的存储单元D.链表可以随机存取任一元素 11. L是线性表,已知LengthList(L)的值是5,经DelList(L,2)运算后,LengthList(L)的值是( C )。 A.2 B.3 C.4 D.5 12. 单向链表的示意图如下: L A B C D ∧ P Q R 指向链表Q结点的前驱的指针是( B )。 A.L B.P C.Q D.R 13. 设p为指向单循环链表上某结点的指针,则*p的直接前驱( C )。 A.找不到 B.查找时间复杂度为O(1) C.查找时间复杂度为O(n)D.查找结点的次数约为n 14. 等概率情况下,在有n个结点的顺序表上做插入结点运算,需平均移动结点的数目为( 8 )。 A.n B.(n-1)/2 C.n/2 D.(n+1)/2 15. 在下列链表中不能从当前结点出发访问到其余各结点的是( C )。 A.双向链表 B.单循环链表 C.单向链表 D.双向循环链表 16. 在顺序表中,只要知道( D ),就可以求出任一结点的存储地址。

相关文档
最新文档