数据结构练习试题和答案解析

合集下载

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。

a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。

2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。

2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。

2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。

3. 简答题1) 请简要介绍线性表和非线性表。

答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。

非线性表是指元素之间存在一对多或多对多的关系,如树和图。

2) 请解释什么是时间复杂度和空间复杂度。

答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。

空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。

4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。

答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。

数据结构练习试卷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解析:数据的存储结构是数据元素在计算机存储器内的表示。

数据结构试题(含答案)讲解

数据结构试题(含答案)讲解

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。

A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。

A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

数据结构习题和答案及解析

数据结构习题和答案及解析

数据结构习题和答案及解析数据结构是计算机科学中非常重要的一个领域,它关注数据的存储、组织和管理方式。

在学习数据结构的过程中,遇到习题是必不可少的,通过解答这些习题可以更好地理解和掌握数据结构的概念和应用。

以下是一些常见的数据结构习题及其答案和解析,希望可以帮助读者更好地学习和理解数据结构。

习题一:栈的应用题目描述:设计一个栈,使其具有获取栈中最小元素的操作。

解答及解析:可以通过两个栈来实现,一个栈用于存储数据,另一个栈用于存储当前最小元素。

在入栈时,如果新的元素比当前最小元素小,则将新元素同时入栈到数据栈和最小栈;在出栈时,如果当前出栈元素与最小栈的栈顶元素相同,则同时出栈。

这样,最小栈的栈顶元素始终为当前栈的最小元素。

习题二:队列的应用题目描述:设计一个队列,使其具有获取队列中最大元素的操作。

解答及解析:可以通过两个队列来实现,一个队列用于存储数据,另一个队列用于存储当前最大元素。

在入队时,如果新的元素比当前最大元素大,则将新元素同时入队到数据队列和最大队列;在出队时,如果当前出队元素与最大队列的队首元素相同,则同时出队。

这样,最大队列的队首元素始终为当前队列的最大元素。

习题三:链表的操作题目描述:给定一个链表,删除链表中倒数第n个节点,并返回链表的头节点。

解答及解析:使用双指针法来解决该问题。

首先让一个指针从链表的头节点向前移动n+1步,然后再让另一个指针从链表的头节点开始移动。

这样两个指针之间的间隔为n,当第一个指针到达链表末尾时,第二个指针指向的节点就是倒数第n个节点的前一个节点。

接着,将第二个指针指向的节点的next指针指向下下个节点,完成删除操作。

习题四:树的遍历题目描述:给定一个二叉树,按照中序遍历的顺序返回其节点值的集合。

解答及解析:采用递归的方式进行中序遍历,先遍历左子树,然后访问根节点,最后遍历右子树。

对于任意一个节点,递归遍历其左子树,将节点值添加到集合中。

然后访问该节点,并将节点值添加到集合中。

数据结构习题参考答案与解析

数据结构习题参考答案与解析

习题1 参考答案1至8题答案略。

9.(1)【解】该逻辑结构为线性结构,其图形表示如下:(2)【解】该逻辑结构为树型结构,其图形表示如下:(3)【解】该逻辑结构为图型结构,其图形表示如下:(4)【解】该逻辑结构为线性结构,其图形表示如下:10.【解】该图书库存管理系统所要处理的数据对象为图书,所以该问题中涉及的数据元素为图书,设数据元素类型为bookType 类型。

每个数据元素应包含的数据项有图书编号、书名、作者、出版社、出版日期等。

可用一个表格(如下表)的形式表示图书间的逻辑关系,即该问题数学模型可采用简单的线性结构来表示。

根据问题需求功能目标,此模型的所需的主要处理操作有插入、删除、查找和修改等基本操作。

所以,现用抽象数据类型bookList 表示问题模型,其逻辑结构与基本操作的定义如下: (1)逻辑结构bookList=( D, {r} )D={b i | b i 为bookType 类型的元素,i=1,2,3, ....., n ,n ≥0} r ={ <bk i ,b i+1>| i=1,2,…, n -1, n ≥0 } (2)基本操作 ①初始化操作函数:InitBookList(&BL)。

……初始条件:图书表BL 不存在。

操作结果:构造一个空的图书表BL 。

②求图书表长度操作函数:bookListLength(BL)。

初始条件:图书表BL 已存在。

操作结果:返回图书表BL 中所包含的数据元素(图书)的个数。

③取图书表中元素操作函数:getBook(BL, i, &b)。

初始条件:图书表BL 已存在,且1≤i ≤bookListLength(BL)。

操作结果:用b 返回图书表BL 中的第i 个数据元素的值。

④按编号查找操作函数:locateById(BL, id)。

初始条件:图书表BL 已存在,id 是给定的一个图书编号。

操作结果:返回图书表BL 中图书编号为id 的数据元素的位序,若这样的数据元素不存在,则返回0。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。

5. 哈希表的冲突可以通过______方法来解决。

答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。

答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。

然后对这两个子数组递归地应用快速排序算法。

7. 解释什么是递归,并给出一个递归函数的例子。

答案:递归是一种在函数中调用自身的编程技术。

递归函数必须有一个明确的终止条件,以避免无限递归。

例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。

答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

数据结构习题(包含全部答案解析)

数据结构习题(包含全部答案解析)

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

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

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

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

A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。

A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。

A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。

A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。

A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。

(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。

数据结构考试试题库含答案解析

数据结构考试试题库含答案解析

数据结构考试试题库含答案解析数据结构习题集含答案⽬录⽬录 (1)选择题 (2)第⼀章绪论 (2)第⼆章线性表 (4)第三章栈和队列 (6)第四章串 (7)第五章数组和⼴义表 (8)第六章树和⼆叉树 (8)第七章图 (11)第⼋章查找 (13)第九章排序 (14)简答题 (19)第⼀章绪论 (19)第⼆章线性表 (24)第三章栈和队列 (26)第四章串 (28)第五章数组和⼴义表 (29)第六章树和⼆叉树 (31)第七章图 (36)第⼋章查找 (38)第九章排序 (39)编程题 (41)第⼀章绪论 (41)第⼆章线性表 (41)第三章栈和队列 (52)第四章串 (52)第五章数组和⼴义表 (52)第六章树和⼆叉树 (52)第七章图 (52)第⼋章查找 (52)第⼀章绪论1.数据结构这门学科是针对什么问题⽽产⽣的?(A )A、针对⾮数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与⾮数值计算的问题都针对D、两者都不针对2.数据结构这门学科的研究内容下⾯选项最准确的是(D )A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学⽣成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下⾯关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学⽣成绩表是数据元素,90分是数据项B、某班级的学⽣成绩表是数据对象,90分是数据元素C、某班级的学⽣成绩表是数据对象,90分是数据项D、某班级的学⽣成绩表是数据元素,90分是数据元素4.*数据结构是指(A )。

A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5.数据在计算机存储器内表⽰时,物理地址与逻辑地址不相同,称之为(C )。

A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6.算法分析的⽬的是(C )A、找出数据的合理性B、研究算法中的输⼊和输出关系C、分析算法效率以求改进D、分析算法的易懂性和⽂档型性7.算法分析的主要⽅法(A )。

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

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