《数据结构》1至5章期末复习题

合集下载

数据结构期末试题及答案

数据结构期末试题及答案

数据结构期末试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构和链式存储结构的主要区别在于:A. 数据元素的存储关系B. 数据元素的存储空间C. 数据元素的存储顺序D. 数据元素的存储位置答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈只能进行插入和删除操作C. 栈顶元素可以被访问D. 栈可以进行顺序存储和链式存储答案:B3. 在二叉树的遍历算法中,不使用递归算法的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:D4. 哈希表的冲突解决方法中,不包括以下哪种:A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D5. 在图的遍历算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于:A. 搜索的顺序B. 存储结构C. 遍历的深度D. 遍历的宽度答案:A6. 快速排序算法的时间复杂度最坏情况下为:A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 下列关于二叉搜索树的描述中,正确的是:A. 每个节点的左子树只包含小于该节点的键值B. 每个节点的右子树只包含大于该节点的键值C. 以上两个选项都正确D. 以上两个选项都不正确答案:C8. 在非递归的二叉树遍历算法中,通常需要使用的数据结构是:A. 栈B. 队列C. 链表D. 数组答案:A9. 一个有n个顶点的无向图,其边数最多为:A. nB. n(n-1)/2C. n(n+1)/2D. n^2答案:B10. 一个长度为n的数组进行归并排序时,需要的辅助空间大小为:A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B二、填空题(每题2分,共10分)1. 在数据结构中,______是一种特殊的线性表,它的元素个数是固定的。

答案:数组2. 链表中,每个节点包含数据域和______。

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

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

《数据结构》期末考试试题及答案一、单项选择题1. 数据结构是计算机科学的基础学科之一。

下列哪个选项正确描述了数据结构的定义?A. 数据结构是一种计算机程序B. 数据结构是一种存储和组织数据的方法C. 数据结构是一种人工智能技术D. 数据结构是一种操作系统答案:B2. 链表和数组是常见的数据结构,它们之间的主要区别是:A. 数组可以存储不同类型的数据,而链表只能存储相同类型的数据B. 数组的元素在内存中是连续存储的,而链表的元素在内存中是分散存储的C. 链表可以随机访问元素,而数组只能顺序访问元素D. 链表的插入和删除操作更高效,而数组的访问操作更高效答案:B3. 在二叉树中,每个节点最多可以有多少个子节点?A. 1B. 2C. 3D. 无限多个答案:B二、填空题1. 假设有一组数据 [5, 8, 3, 2, 9],按照从小到大的顺序进行冒泡排序的过程中,经过三次交换后的结果是__2__,__3__,__5__,__8__,__9__。

2. 请完成以下代码,实现栈的入栈和出栈操作:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():return self.stack.pop()def is_empty(self):# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False ```答案:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():def is_empty(self):return len(self.stack) == 0# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False```三、简答题1. 请简要介绍树的基本概念及常见的树结构。

《数据结构》期末考试复习题 第1章 绪论

《数据结构》期末考试复习题 第1章 绪论

第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。

【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。

【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。

【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。

【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2)【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。

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

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

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)1. 下面哪个数据结构是线性结构?A. 树B. 图C. 队列D. 网络流2. 下面哪个数据结构用于实现广度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆3. 下面哪个数据结构用于实现深度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆4. 下面哪个数据结构用于实现快速排序算法?A. 栈B. 队列C. 散列表D. 堆5. 下面哪个数据结构用于实现优先队列?A. 栈B. 队列C. 散列表D. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。

2. 二叉树的节点最多有______个子节点。

3. 堆是一种特殊的______。

4. 散列表的查找效率取决于______。

5. 图的遍历算法包括______和______。

6. 快速排序算法的平均时间复杂度为______。

7. 哈希表中的冲突解决方法有______和______。

8. 最小树算法包括______和______。

9. 最短路径算法包括______和______。

10. 并查集算法用于解决______问题。

第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。

2. 请简述二叉搜索树的特点。

3. 请简述哈希表的原理。

4. 请简述图的深度优先搜索算法。

5. 请简述最小树算法的原理。

第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。

数据结构复习题及答案5篇

数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。

()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。

()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。

()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。

()5.如果两个串含有相同的字符,则这两个串相等。

()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。

()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。

()9.一个广义表的表尾总是一个广义表。

()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。

()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。

()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。

()13.直接选择排序是一种稳定的排序方法。

()14.闭散列法通常比开散列法时间效率更高。

()15.有n个结点的不同的二叉树有n!棵。

()16.直接选择排序是一种不稳定的排序方法。

()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。

()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。

()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。

()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。

数据结构期末复习题

数据结构期末复习题

数据结构期末复习题习题⼀绪论习题答案1.1 1. AB2. BD3. C4. AB5. CA6. CB7. B8. D9. B 10. B1.2 1. 线性结构、树形结构、图形结构、⾮线性结构2. 没有、1、没有、13. 前驱、1、后续、任意多个4. 任意多个5. ⼀对⼀、⼀对多、多对多6. 有穷性、确定性、可⾏性、输⼊、输出7. O(m*n)8. O (n 1 2)9. O (n2)10. log3n1.1 单项选择题1. 数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。

①A.操作对象B.计算⽅法C.逻辑存储D.数据映象②A.结构B.关系C.运算D.算法2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。

①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成①。

A.动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4. 线性表的顺序存储结构是⼀种①的存储结构,线性表的链式存储结构是⼀种②的存储结构。

A.随机存取B.顺序存取C.索引存取D.散列存取5. 算法分析的⽬的是①,算法分析的两个主要⽅⾯是②。

① A. 找出数据结构的合理性 B. 研究算法中的输⼊和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和⽂档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和⽂档性D. 数据复杂性和程序复杂性6. 计算机算法指的是①,它必具备输⼊、输出和②等五个特性。

①A. 计算⽅法 B. 排序⽅法C. 解决问题的有限运算序列D. 调度⽅法②A. 可⾏性、可移植性和可扩充性 B. 可⾏性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性7. 线性表的逻辑顺序与存储顺序总是⼀致的,这种说法①。

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

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

《数据结构》期末考试试卷试题及答案一、选择题(每题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至5章期末复习题

《数据结构》1至5章期末复习题

第一章一、单项选择题1. 数据结构是指()。

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

A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。

A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。

for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O( )C.O(n)D.O( )5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。

A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。

(1) A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。

A.低 B.高 C.相同 D.不好说8. 数据结构作为一门独立的课程出现是在()年。

A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。

A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。

A.数据B.数据元素C.数据项D.数据库二、填空题1. 数据结构按逻辑结构可分为两大类,分别是______________和_________________。

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

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

《数据结构》期末考试试题及答案一、选择题(每题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)、可以方便地实现各种复杂数据结构。

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

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

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

《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪一个不是线性结构的基本特征?A. 有且只有一个根结点B. 每个结点最多有一个前驱和一个后继C. 有且只有一个叶子结点D. 有序对中第一个元素是根结点答案:C2. 在单链表中,存储元素的数据域称为元素的哪个部分?A. 指针域B. 数据域C. 结点域D. 头结点答案:B3. 在顺序存储结构中,数据元素之间的逻辑关系由哪个因素决定?A. 数据元素的存储顺序B. 数据元素的存储位置C. 数据元素的类型D. 数据元素的大小答案:A4. 下列哪种排序算法的时间复杂度不是O(nlogn)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D5. 在二叉树中,具有度为2的结点的个数是n0,度为0的结点个数是n2,则有()。

A. n0 = n2 - 1B. n0 = n2 + 1C. n0 = n2D. n0 = n2 + 2答案:B6. 在线索二叉树中,哪个结点被称为线索结点?A. 有左子树的结点B. 有右子树的结点C. 既没有左子树也没有右子树的结点D. 具有左右子树的结点答案:C7. 在双向链表中,查找结点的时间复杂度是()。

A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B8. 在栈的操作中,下列哪个操作是非法的?A. 先进先出B. 后进先出C. 可以插入任意元素D. 可以删除任意元素答案:D9. 在顺序表中进行插入操作时,平均移动次数为()。

A. 0B. n/2C. nD. n-1答案:C10. 在下列排序算法中,哪个算法是不稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B二、填空题(每题2分,共20分)1. 线性表的顺序存储结构称为顺序表,其基本特点是()。

答案:元素顺序存储2. 在单链表中,每个结点包括两个域:数据域和()。

答案:指针域3. 在二叉树中,度为0的结点称为(),度为2的结点称为()。

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)数据结构期末考试试题(含答案)第一题:多项式相加(20分)将两个多项式 P(x) 和 Q(x) 相加,结果存储在另一个多项式 S(x) 中,请写出相应的算法,并给出其时间复杂度分析。

答案:算法如下:1. 初始化一个空多项式 S(x)。

2. 分别取多项式 P(x) 和 Q(x) 的第一项,判断指数的大小关系,并将指数较小的项加入 S(x)。

3. 若指数相同,则将两项系数相加,并将结果加入 S(x)。

4. 重复步骤2和步骤3,直到两个多项式中的所有项都被处理完。

5. 返回结果多项式 S(x)。

时间复杂度分析:- 假设 P(x) 和 Q(x) 的项数分别为 m 和 n。

- 在最坏情况下,需要比较 m+n 次指数大小,并进行 m+n-1 次系数相加。

- 因此,该算法的时间复杂度为 O(m+n)。

第二题:循环队列设计(30分)请设计一个循环队列,实现入队、出队等基本操作,并给出时间复杂度分析。

答案:定义循环队列的结构体如下:```ctypedef struct {int *data; // 存储队列元素的数组int front; // 队首指针,指向队首元素的位置int rear; // 队尾指针,指向队尾的下一个位置int maxSize; // 队列的最大容量} CircularQueue;```基本操作的实现如下:1. 初始化循环队列:```cvoid initQueue(CircularQueue *queue, int maxSize) {queue->data = (int *)malloc(sizeof(int) * maxSize);queue->front = queue->rear = 0;queue->maxSize = maxSize;}```2. 入队操作:```cint enqueue(CircularQueue *queue, int value) {if ((queue->rear + 1) % queue->maxSize == queue->front) { return 0; // 队列已满,插入失败}queue->data[queue->rear] = value;queue->rear = (queue->rear + 1) % queue->maxSize;return 1; // 插入成功}```3. 出队操作:```cint dequeue(CircularQueue *queue, int *value) {if (queue->front == queue->rear) {return 0; // 队列为空,出队失败}*value = queue->data[queue->front];queue->front = (queue->front + 1) % queue->maxSize; return 1; // 出队成功}```时间复杂度分析:- 入队和出队操作的时间复杂度均为 O(1)。

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

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

数据结构期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 树D. 图2. 在链表中进行插入和删除操作时,以下哪种操作的时间复杂度是O(1)?A. 在链表头部插入B. 在链表尾部插入C. 在链表中间插入D. 在链表任意位置插入或删除3. 下列哪种排序算法的平均时间复杂度是O(n log n)?A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序4. 在二叉树中,下列哪种遍历方法先访问根节点?A. 前序遍历B. 中序遍历C. 后序遍历D. 层次遍历5. 下列哪种图中的边没有方向?A. 有向图B. 无向图C. 树D. 图二、填空题(每题2分,共20分)6. 在顺序栈中,栈满时进行入栈操作会产生__________现象。

7. 在顺序队列中,队满时进行入队操作会产生__________现象。

8. 在二叉树中,度为0的节点称为__________节点。

9. 快速排序算法的时间复杂度为__________。

10. 图的存储结构主要有__________、__________和__________三种。

三、判断题(每题2分,共20分)11. 在链表中,删除节点时必须先找到待删除节点的前一个节点。

()12. 二分查找算法的时间复杂度为O(n)。

()13. 在二叉树中,度为2的节点个数等于度为0的节点个数减1。

()14. 在哈希表中,不同的关键字可能会映射到同一个位置,这种现象称为冲突。

()15. 图的邻接矩阵表示法适用于稀疏图。

()四、解答题(共40分)16. 请简述快速排序算法的基本思想和步骤。

(10分)17. 请证明:在二叉树中,度为0的节点个数等于度为2的节点个数加1。

(10分)18. 请编写一个函数,实现将一个链表逆序的功能。

(10分)19. 请设计一个算法,实现将一个无向图的邻接矩阵转换为邻接表。

(10分)### 数据结构期末考试答案一、选择题1. B2. A3. C4. A5. B二、填空题6. 上溢7. 下溢8. 叶子节点9. O(n log n)10. 邻接矩阵、邻接表、边集数组三、判断题11. √12. ×(二分查找算法的时间复杂度为O(log n))13. √14. √15. ×(图的邻接矩阵表示法适用于稠密图)四、解答题16. 快速排序算法的基本思想是:选择一个基准元素,将比基准元素小的元素放在其左边,比基准元素大的元素放在其右边,然后递归地对左右两个子区间进行快速排序。

数据结构C语言版期末考试试题(附带复习资料)[5篇材料]

数据结构C语言版期末考试试题(附带复习资料)[5篇材料]

数据结构C语言版期末考试试题(附带复习资料)[5篇材料]第一篇:数据结构C语言版期末考试试题(附带复习资料)“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。

A.HL=ps p 一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p =HL;D.p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有()。

A.n—l条有向边 B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为()。

A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。

A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为()参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为()。

A.O(n)B.O(1)C.O(n2)D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.——中缀表达式3十x*(2.4/5—6)所对应的后缀表达式为————。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。

《数据结构》期末复习题及参考答案

《数据结构》期末复习题及参考答案

《数据结构》复习资料一单选题 (共48题,总分值0分 )1. 设用链表作为栈的存储结构,则退栈操作(0 分)A. 必须判别栈是否为满B. 必须判别栈是否为空C. 判别栈元素的类型D. 对栈不作任何判别2. 下面关于m阶B树说法正确的是()。

①每个结点至少有两棵非空子树;②树中每个结点至多有m-1个关键字;③所有叶子在同一层上;④当插入一个数据项引起B树结点分裂后,树长高一层。

(0 分)A. ①②③B. ②③C. ②③④D. ③3. 下列关于文件的说法,错误的是()。

(0 分)A. 选择文件的组织方式时应考虑外存的性质和容量B. 不定长文件指的是总长度可变的文件C. 对文件的操作主要是维护和检索D. 文件的存储结构指的是文件在外存上的组织方式4. 设无向图的顶点个数为n,则该图最多有()条边。

(0 分)A. n-1B. n(n-1)/2C. n(n+1)/2D. n25. 设广义表L=((a,()),b,(c,d,e)),则Head(Tail(Tail(L)))的值为()。

(0 分)A. bB. cC. (c)D. (c,d,e)6. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

(0 分)A. 688B. 678C. 692D. 6967. 设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为(0 分)A. nB. eC. 2nD. 2e8. 广义表(a,(b,(),c))的深度为()。

(0 分)A. 1B. 2C. 3D. 49. 设有向图G中有五个顶点,各顶点的度分别为3、2、2、1、2,则G中弧数为()。

(0 分)A. 4条B. 5条C. 6条D. 无法确定10. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为(0 分)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,311. 具有n个顶点的有向强连通图最少有()条弧。

数据结构复习题参考答案

数据结构复习题参考答案

数据结构总复习第一部分课后习题第一章课后习题P16 1、2、5、6、9第三章课后习题P66 2、3第四章课后习题P88 1第五章课后习题P102 1、2第六章课后习题P134-135 1、3、16、18完成P137 实验二构造哈夫曼编码第七章课后习题P177 1、2、4、8、10第二部分综合习题一、单项选择题1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是(C )A. 栈B. 队列C. 树D. 图2.下面程序段的时间复杂度为(B )for (i=0; i<m; i++)for (j=0; j<n; j++)A[i][j]=i*j;A. O (m2)B. O (n2)C. O (m*n)D. O (m+n)3.在头指针为head的非空单循环链表中,指针p指向尾结点,下列关系成立的是( A )A. p->next==headB. p->next->next==headC. p->next==NULLD. p==head4.若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是( D )A. SXSSXXXXB. SXXSXSSXC. SXSXXSSXD. SSSXXSXX5.两个字符串相等的条件是(D )A. 串的长度相等B. 含有相同的字符集C. 都是非空串D. 串的长度相等且对应的字符相同6.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为( D )A. 0B. 1C. 48D. 497.算法分析的目的是:(C )(A)找出数据结构的合理性(B)研究算法中输入和输出的关系(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性8.用链表表示线性表的优点是:( C )(A)便于随机存取(B)花费的存储空间比顺序表少(C)便于插入和删除(D)数据元素的物理顺序与逻辑顺序相同9.在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxsize为数组的最大长度,队满的条件是:( D )(A)front=rear (B)rear=maxsize(C)rear=front (D)(rear+1)%maxsize=front10.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为:( A )(A)CDBGFEA (B)CDBFGEA(C)CDBAGFE (D)BCDAGFE11.执行下列程序段,执行S的次数(S这段程序的时间复杂度)是:(D )for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)S;(A)n2 (B)n2/2 (C)n(n+1) (D)n(n+1)/212.以下数据结构中哪一个是非线性结构的是:( D )(A)队列(B)栈(C)线性表(D)图13.设有6个结点的无向图,该图至少有多少条边才能确保是一个连通图:(A )(A)5 (B)6 (C)7 (D)814.树形结构数据元素之间的关系是:( C )(A)一对一关系(B)多对多关系(C)一对多关系(D)多对一关系15.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是:( C )(A)edcba (B)decba (C)dceab (D)abcde16.静态查找和动态查找的根本区别在于:(B )(A)它们的逻辑结构不一样(B)施加在其上的操作不同(C)所包含的数据元素的类型不一样(D)存储的实现不一样17.关键路径是AOE网中:(A )(A)从源点到终点的最长路径(B)从源点到终点的最短路径(C)最长的回路(D)最短的回路18.采用折半查找方法进行查找,数据文件为,且限于;(A )(A)有序表顺序存储结构(B)有序表链式存储结构(C)随机表顺序存储结构(D)随机表链式存储结构19.一个高度为h的完全二叉树共有n个结点,其中m个叶子结点,则下列式子成立的是( D )(A)n=h+m (B)h+m=2n (C)m=h-1 (D)n=2m-120.下列说法中不正确的是:(C )(A)数组时一种线性结构(B)数组是一种定长的线性结构(C)除了插入和删除操作外,数组的基本操作还有存取、修改、检索和排序等(D)数组的基本操作有存取、修改、检索和排序等,没有插入与删除操作21.设无向图G有n个顶点e条边,则该无向图中所有顶点的度之和为:( D )(A)n (B)e (C)2n (D)2e22.对下面的无向图进行广度优先搜索后所得到的顶点访问序列,正确的是:(A )(A)ABDEFC (B)ABFEDC (C)ADCBEF (D)ADCBFE23.若某线性表中最常用的操作是取第i 个元素和找第i个元素的前趋元素,则采用( D )存储方式最节省时间。

数据结构期末考试复习题

数据结构期末考试复习题

数据结构期末考试复习题1第一部分线性一.选择题 1.以下说法正确的是。

A.数据元素是数据的最小单位。

B. 数据结构是带结构的各数据项的集合。

C.数据项是数据的基本单位。

D. 数据结构是带结构的数据元素的集合。

2. 在设计存储结构时,通常不仅要存储各数据元素的值,而且还要存储。

A.数据的处理方法B.数据元素的类型 D.数据的存储方法D.一对多C.数据元素之间的关系 A.一对一3.树状结构中的数据元素之间存在逻辑关系。

B.多对一C.多对多4.以下数据结构中,哪一个不属于线性结构。

A.串B.广义表C.栈D.树5.对一个具有n个结点的单链表,在表头位置插入其值等于x的结点时,操作的时间复杂度为。

A. O(1)B. O(x)C. O(n)D. O(n2)6. 设一顺序栈已含3个元素a、b、c,元素d正等待进栈。

那么下列4个序列中不可能出现的出栈序列是。

A. dcbaB. cdbaC. cbdaD. cadb 7. 如果栈采用顺序存储结构,则入栈操作时。

A. 必须判别栈是否满。

B. 必须判别栈是否空。

C. 判别栈元素的类型。

D. 对栈不做任何操作。

8.用一个大小为N的数组来实现循环队列Q,假定front 和rear分别为队头指针和队尾指针,判断该循环队列为满的条件是。

A.(+1)==B. ==C.(+1)%N==D. (+1)%N== 9.串S=“串string”的长度是。

A. 6B. 7C. 8D. 910.设二维数组arr[6][4]的每个元素占6个单元,按行优先顺序存放在起始地址为2000的连续内存单元中,则存储地址为2066的是元素。

A. arr[2][3] B. arr[3][3]C. arr[5][1]D. arr[4][1] 二.填空题1.根据数据元素之间关系的不同特性,通常有4类基本数据结构,它们是: (____________)、(___________)、(___________)、(___________)。

数据结构复习题3

数据结构复习题3

数据结构练习题第一章绪论一.选择题1、在数据结构的讨论中把数据结构从逻辑上分为()。

A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构2、采用线性链表表示一个向量时,要求占用的存储空间地址()。

A: 必须是连续的 B 部分地址必须是连续的C: 一定是不连续的C: 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。

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

A: s→next = p→next;p→next = s; B: p→next= s; s→next = q;C: p→next = s→next;s→next = p;D: q→next= s;s→next= p;8.下面程序段的时间复杂度为____________。

for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)9.执行下面程序段时,执行S语句的次数为____________。

for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/2二.填空题1.通常,评价一个算法有正确性、健壮性、_________、时间复杂度、空间复杂度五个方面。

2.在数据结构中,数据的逻辑结构有线性结构、图结构、________________、_______________四种,物理实现上有顺序结构、索引结构、___________、_____________四种。

第三章线性表一.选择题1.在一个单链表HL中,若要向q所指结点之后插入一个指针p指向的结点,则执行.A. HL=p; p->next=HLB. P->next=HL; HL=pC. P->next=q->next; q->next=pD. P->next=q->next; q=p->next2.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移个元素。

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

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

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

A. 结构是否有序B. 结构中元素之间是否有一对一的对应关系C. 结构中元素之间是否有多对多的对应关系D. 结构中元素之间是否有一对多的对应关系答案:B2. 栈的基本操作不包括()。

A. 入栈B. 出栈C. 排序D. 查看栈顶元素答案:C3. 在二叉树中,度为2的节点称为()。

A. 叶子节点B. 分支节点C. 内部节点D. 根节点答案:B4. 哈希表解决冲突的方法不包括()。

A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D5. 快速排序算法的时间复杂度在最坏情况下是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:C6. 链表不具有的特点是()。

A. 动态存储B. 随机访问C. 无需额外空间D. 可变长度答案:B7. 归并排序的时间复杂度是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B8. 队列的特点是()。

A. 后进先出B. 先进先出C. 先进后出D. 后进后出答案:B9. 深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。

A. 搜索方向B. 搜索顺序C. 搜索深度D. 搜索广度答案:B10. 图的遍历算法不包括()。

A. 深度优先搜索B. 广度优先搜索C. 回溯法D. 动态规划答案:D二、填空题(每题2分,共20分)1. 在数据结构中,____是指元素之间存在一对一的对应关系。

答案:线性结构2. 栈的特点是____,即后进先出。

答案:LIFO3. 完全二叉树是一种特殊的二叉树,其中除了最后一层外,每一层都被完全填满,并且最后一层的所有节点都尽可能地靠____。

答案:左4. 哈希表是一种通过____来访问数据的数据结构。

答案:哈希函数5. 在排序算法中,____排序是一种不稳定的排序算法。

数据结构期末考试复习试题(整理完的)

数据结构期末考试复习试题(整理完的)

数据结构期末考试复习试题(整理完的)数据结构期末考试复习试题(整理完的)一、选择题1. 数据结构是一门研究什么的学科?a) 数据的存储和处理b) 算法的设计和分析c) 编程语言的应用d) 数字电路的设计2. 下面哪种数据结构不是线性结构?a) 数组b) 链表c) 栈d) 树3. 以下哪种数据结构适合实现先进先出(FIFO)的原则?a) 树b) 链表c) 栈d) 队列4. 哪种排序算法的时间复杂度最低?a) 冒泡排序b) 插入排序c) 快速排序d) 归并排序5. 对于一个包含n个元素的有序数组,采用二分查找法的时间复杂度是多少?a) O(n)b) O(logn)c) O(n^2)d) O(1)二、简答题1. 什么是数据结构?它有哪些基本类型?数据结构是指将数据按照某种特定方式组织的方法。

其基本类型包括线性结构、树形结构和图结构。

2. 请简要描述栈和队列的特点及其应用场景。

栈是一种先进后出的数据结构,只能在栈顶进行插入和删除操作,常用于表达式求值、括号匹配等场景。

队列是一种先进先出的数据结构,只能在队尾进行插入操作,在队首进行删除操作,常用于模拟排队、任务调度等场景。

3. 请简要介绍常见的排序算法,并比较它们的时间复杂度。

常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序和归并排序。

冒泡排序的时间复杂度为O(n^2);插入排序的时间复杂度为O(n^2);选择排序的时间复杂度为O(n^2);快速排序的时间复杂度为O(nlogn);归并排序的时间复杂度为O(nlogn)。

三、编程题请实现一个用于计算阶乘的函数factorial,并在主函数中调用该函数计算5的阶乘。

```pythondef factorial(n):if n == 1:return 1else:return n * factorial(n-1)print(factorial(5))```以上是数据结构期末考试复习试题的整理。

希望能对大家的复习提供一些帮助。

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

第一章一、单项选择题1. 数据结构是指()。

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

A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。

A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。

for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O( )C.O(n)D.O( )5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。

A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。

(1)A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法(2)A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。

A.低 B.高 C.相同 D.不好说8. 数据结构作为一门独立的课程出现是在()年。

A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。

A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。

A.数据B.数据元素C.数据项D.数据库二、填空题1. 数据结构按逻辑结构可分为两大类,分别是______________和_________________。

2. 数据的逻辑结构有四种基本形态,分别是________________、__________________、__________________和__________________。

3. 线性结构反映结点间的逻辑关系是__________________的,非线性结构反映结点间的逻辑关系是__________________的。

4. 一个算法的效率可分为__________________效率和__________________效率。

5. 在树型结构中,树根结点没有__________________结点,其余每个结点的有且只有__________________个前趋驱结点;叶子结点没有__________________结点;其余每个结点的后续结点可以__________________。

6. 在图型结构中,每个结点的前趋结点数和后续结点数可以__________________。

7. 线性结构中元素之间存在__________________关系;树型结构中元素之间存在__________________关系;图型结构中元素之间存在__________________关系。

8. 下面程序段的时间复杂度是__________________。

for(i=0;i<N;I++)< font>A[i][j]=0;9. 下面程序段的时间复杂度是__________________。

i=s=0;while(s<N)< font>{ i++;s+=i;}10. 下面程序段的时间复杂度是__________________。

s=0;for(i=0;i<N;I++)< font>for(j=0;j<N;J++)< font>s+=B[i][j];sum=s;11. 下面程序段的时间复杂度是__________________。

i=1;while(i<=n)i=i*3;12. 衡量算法正确性的标准通常是____________________________________。

13. 算法时间复杂度的分析通常有两种方法,即___________和___________的方法,通常我们对算法求时间复杂度时,采用后一种方法。

三、求下列程序段的时间复杂度。

1. x=0;for(j=i+1;j<=n;j++)x++;2. x=0;for(i=1;i<N;I++)< font>for(j=1;j<=n-i;j++)x++;3. int i,j,k;for(i=0;i<N;I++)< font>for(j=0;j<=n;j++){ c[i][j]=0;for(k=0;k<N;K++)< font>c[i][j]=a[i][k]*b[k][j] }4. i=n-1;while((i>=0)&&A[i]!=k))j--;return (i);5. fact(n){ if(n<=1)return (1);elsereturn (n*fact(n-1));第三章一、单项选择题1. 空串与空格字符组成的串的区别在于()。

A.没有区别B.两串的长度不相等C.两串的长度相等D.两串包含的字符不相同2. 一个子串在包含它的主串中的位置是指()。

A.子串的最后那个字符在主串中的位置B.子串的最后那个字符在主串中首次出现的位置C.子串的第一个字符在主串中的位置D.子串的第一个字符在主串中首次出现的位置3. 下面的说法中,只有()是正确的。

A.字符串的长度是指串中包含的字母的个数B.字符串的长度是指串中包含的不同字符的个数C.若T包含在S中,则T一定是S的一个子串D.一个字符串不能说是其自身的一个子串4. 两个字符串相等的条件是()。

A.两串的长度相等B.两串包含的字符相同C.两串的长度相等,并且两串包含的字符相同D.两串的长度相等,并且对应位置上的字符相同5. 若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。

A. “ijing”B. “jing&”C. “ingNa”D. “ing&N”6. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=()。

A.2B.3C.4D.57. 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。

A. “Nanjing&Shanghai” B. “Nanjing&Nanjing”C. “ShanghaiNanjing”D. “Shanghai&Nanjing”8. 在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是()。

A.i>0B. i≤nC.1≤i≤nD.1≤i≤n+19. 字符串采用结点大小为1的链表作为其存储结构,是指()。

A.链表的长度为1B.链表中只存放1个字符C.链表的每个链结点的数据域中不仅只存放了一个字符D.链表的每个链结点的数据域中只存放了一个字符二、填空题1. 计算机软件系统中,有两种处理字符串长度的方法:一种是___________,第二种是___________________。

2. 两个字符串相等的充要条件是_____________________和___________________。

3. 设字符串S1= “ABCDEF”,S2= “PQRS”,则运算S=CONCAT(SUB(S1,2,LEN(S2)),SUB(S1,LEN(S2),2))后的串值为___________________。

4. 串是指___________________。

5. 空串是指___________________,空格串是指___________________。

三、算法设计题1. 设有一个长度为s的字符串,其字符顺序存放在一个一维数组的第1至第s个单元中(每个单元存放一个字符)。

现要求从此串的第m个字符以后删除长度为t的子串,m<S< span>,t<(s-m),并将删除后的结果复制在该数组的第s单元以后的单元中,试设计此删除算法。

2. 设s和t是表示成单链表的两个串,试编写一个找出s中第1个不在t中出现的字符(假定每个结点只存放1个字符)的算法。

第四章一、单项选择题1. 设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为()。

A.p +[i*n+j-1]*kB.p+[(i-1)*n+j-1]*kC.p+[(j-1)*n+i-1]*kD.p+[j*n+i-1]*k2. 已知二维数组A10×10中,元素a20的地址为560,每个元素占4个字节,则元素a10的地址为()。

A.520B.522C.524D.5183. 若数组A[0…m][0…n]按列优先顺序存储,则aij地址为()。

A.LOC(a00)+[j*m+i]B.LOC(a00)+[j*n+i]C.LOC(a00)+[(j-1)*n+i-1]D.LOC(a00)+[(j-1)*m+i-1]4. 若下三角矩阵An×n,按列顺序压缩存储在数组Sa[0…(n+1)n/2]中,则非零元素aij的地址为()。

(设每个元素占d个字节)A. [(j-1)*n- +i-1]*dB. [(j-1)*n- +i]*d C.[(j-1)*n- +i+1]*d D.[(j-1)*n- +i-2]*d5. 设有广义表D=(a,b,D),其长度为(),深度为()。

A.无穷大B.3C.2D.56. 广义表A=(a),则表尾为()。

A.aB.(( ))C.空表D.(a)7. 广义表A=((x,(a,B)),(x,(a,B),y)),则运算head(head(tail(A)))的结果为()。

A.xB.(a,B)C.(x,(a,B))D.A8. 下列广义表用图来表示时,分支结点最多的是()。

A.L=((x,(a,B)),(x,(a,B),y))B.A=(s,(a,B))C.B=((x,(a,B),y))D.D=((a,B),(c,(a,B),D)9. 通常对数组进行的两种基本操作是()。

A.建立与删除B.索引和修改C.查找和修改D.查找与索引10. 假定在数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数为()。

相关文档
最新文档