数据结构复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.判断题(下列各题,正确的请在前面的括号内打√;错误的打×)
第1章
(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。
(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。(×)(3)数据元素是数据的最小单位。
(×)(4)数据项是数据的基本单位。
(×)(5)数据的逻辑结构和数据的存储结构是相同的。
(√)(6)数据的逻辑结构是各数据元素之间的逻辑关系,是用户按使用需要而建立的。(√)(7)数据的物理结构是指数据在计算机内实际的存储形式。
(√)(8)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)(9)数据的存储结构是数据的逻辑结构的存储映像。
(√)(10)算法是对解题方法和步骤的描述。
第2章
(×)(1)链表的物理存储结构具有同链表一样的顺序。
(×)(2)链表的每个结点都恰好包含一个指针域。
(√)(3)线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。
(×)(4)链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。
(×)(5)顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
(√)(6)数组元素的存储位置是下标的线性函数。
(√)(7)在单链表中,元素的存储位置用指针联系,所以可以从头结点开始查找任何一个元素。
(×)(8)顺序存储线性表的插入和删除操作不需要付出很大的代价,因为平均每次移动仅一半的元素。
(×)(9)顺序存储方式的优点是存储密度大,插入、删除效率高。
(×)(10)在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。
第3章
(√)(1)大多数排序算法都有比较关键字大小和改变指向记录的指针或移动记录本身两种基本操作。
(×)(2)快速排序在任何情况下都比其它排序方法速度快。
(√)(3)快速排序算法在每一趟排序中都能找到一个元素放在其最终位置上。
(×)(4)如果某种排序算法不稳定,则该排序方法就没有实际应用价值。
(√)(5)对n个记录的进行快速排序,所需要的平均时间是O(nlog2n)。
(×)(6)冒泡排序是不稳定的排序。
(√)(7)冒泡排序的时间复杂度是O(n2)。
(×)(8)堆排序所需的时间与待排序的记录个数无关。
(√)(9)对快速排序来说,初始序列为正序或反序都是最坏情况。
n)。
(√)(10)对于n个记录的集合进行归并排序,所需的平均时间为O (nlog
2
第4章
(√)(1)栈是运算受限制的线性表。
(√)(2)在栈空的情况下,不能作出栈操作,否则产生下溢出。
(×)(3)栈一定是顺序存储的线性结构。
(×)(4)空栈就是所有元素都为0的栈。
(×)(5)一个栈的输入序列为:A,B,C,D,可以得到输出序列:C,A,B,D。
(√)(6)一个栈的输入序列为:A,B,C,D,通过入出栈操作可以输出序列:A,B,C,D。(×)(7)在C或C++语言中设顺序栈的长度为MAXLEN,则top=MAXLEN时表示队满。(√)(8)链栈与顺序栈相比,其特点之一是通常不会出现栈满的情况。
(√)(9)在栈中插入或删除一个元素应遵守的“后进先出”的原则。
(√)(10)进位制的换算算法是栈的应用。
(√)(11)队列是限制在两端进行操作的线性表。
(√)(12)判断顺序队列为空的标准是头指针和尾指针均指向同一个结点。(×)(13)在链队列做出队操作时,会改变front指针的值。
(√)(14)在循环队列中,若尾指针rear大于头指针front,其元素个数为rear- front。(√)(15)队列是一种“先进先出”的线性表。
(×)(16)在循环链队列中无上溢出现象。
(×)(17)栈和队列都是顺序存储的线性结构。
(√)(18)栈和队列都是属于线性结构。
(×)(19)顺序队和循环队的队满和队空的判断条件是一样的。
(√)(20)在队列中插入或删除一个元素应遵守的”先进先出”的原则。
第5章
(×)(1)串的长度是指串中不同字符的个数。
(×)(2)串是n个字母的有限序列。
(√)(3)空串不等于空格串。
(×)(4)如果两个串含有相同的字符,则说明它们相等。
(×)(5)如果一个串中所有的字母均在另一个串中出现,则说明前者是后者的子串。
(√)(6)串的堆分配存储是一种动态存储结构。
(×)(7)“DT”是“DATA”的子串。
(×)(8)空串与空格串是相同的。
(×)(9)串中任意个字符组成的子序列称为该串的子串。
(√)(10)子串的定位运算称为模式匹配。
(√)(11)n维的多维数组可以视为n-1维数组元素组成的线性结构。
(√)(12)稀疏矩阵中非零元素的个数远小于矩阵元素的总数。
(ㄨ)(13)若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算。
(ㄨ)(14)在稀疏矩阵的三元组表表示法中,每个三元组表示矩阵中数据元素的行号、列号和值。
(ㄨ)(15)上三角矩阵主对角线以上(不包括主对角线中的元素),均为常数C。
(√)(16)对称矩阵、三角矩阵、稀疏矩阵都可以进行压缩存储。
(ㄨ)(17)任何矩阵都可以进行压缩存储。
(√)(18)在稀疏矩阵的三元组表表示法中,每个三元组表示矩阵中非零元素的行号、列号和值。
(√)(19)数组元素可以由若干个数据项组成。
(√)(20)稀疏矩阵压缩存储就是为矩阵中非零元素分配一个存储空间。
第6章
(√)(1)树结构中每个结点最多只有一个直接前驱。
(×)(2)完全二叉树一定是满二查树。
(√)(3)由树转换成二叉树,其根结点的右子树一定为空。
(√)(4)在前序遍历二叉树的序列中,任何结点的子树的所有结点都是直接跟在该结点之后。
(×)(5)用一维数组来存储二叉树时,总是以前序遍历存储结点。
(×)(6)已知二叉树的前序遍历和后序遍历并不能唯一确定这棵二叉树,因为不知道根结点是哪一个。
(√)(7)二叉树的前序遍历中,任意一个结点均处于其子女结点的前面。
(√)(8)由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。(√)(9)不使用递归,也可以实现二叉树的前序、中序和后序遍历。
(√)(10)在完全二叉树中,若一个结点没有左孩子,则它必然是叶子结点。
第7章
(√)(1)图可以没有边,但不能没有顶点。