数据结构与算法 模拟试卷三四及参考答案
数据结构与算法分析习题及参考答案
四川大学计算机学院《数据结构与算法分析》课程模拟试卷及参考答案模拟试卷一一、单选题(每题2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2A. 11 B.35 C. 19 D. 53以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
数据结构与算法模考试题(含参考答案)
数据结构与算法模考试题(含参考答案)一、单选题(共100题,每题1分,共100分)1、某公司秘书小莉经常需要用Word编辑中文公文,她希望所录入的正文都能够段首空两个字符,最简捷的操作方法是:A、在每次编辑公文前,先将“正文”样式修改为“首行缩进 2 字符”。
B、每次编辑公文时,先输入内容然后选中所有正文文本将其设为“首行缩进 2 字符”。
C、在一个空白文档中将“正文”样式修改为“首行缩进 2 字符”,然后将当前样式集设为默认值。
D、将一个“正文”样式为“首行缩进 2 字符”正确答案:C2、现代微型计算机中所采用的电子元器件是:A、大规模和超大规模集成电路B、电子管C、晶体管D、小规模集成电路正确答案:A3、图书馆管理系统中实体图书和实体借阅人之间的联系是A、1:1B、1:NC、M:ND、N:1正确答案:C4、计算机网络最突出的优点是:A、资源共享和快速传输信息B、高精度计算和收发邮件C、运算速度快和快速传输信息D、存储容量大和高精度正确答案:A5、在 Excel 工作表单元格中输入公式时,F$2 的单元格引用方式称为:A、绝对地址引用B、交叉地址引用C、混合地址引用D、相对地址引用正确答案:C6、域名代码 MIL 表示:A、政府机关B、国际组织C、商业组织D、军事部门正确答案:D7、以下对 Excel 高级筛选功能,说法正确的是:A、高级筛选之前必须对数据进行排序B、利用“数据”选项卡中的“排序和筛选”组内的“筛选”命令可进行高级筛选C、高级筛选通常需要在工作表中设置条件区域D、高级筛选就是自定义筛选第 6 组正确答案:C8、软件工程的三要素是A、方法、工具和过程B、方法、工具和文档第 47 组C、方法、工具和环境D、方法、平台和管理正确答案:A9、字长是计算机的一个重要指标,在工作频率不变和 CPU 体系结构相似的前提下,字长与计算机性能的关系是:A、字长越长,计算机的数据处理速度越快B、字长越短,计算机的数据处理速度越快C、字长表示计算机的存储容量大小,字长越长计算机的读取速度越快D、字长越短,表示计算机的并行能力越强正确答案:A10、下面描述错误的是A、类中包含数据(属性)和方法(或操作)B、类中包含对数据的操作(方法)C、类是对象的实例D、类具有抽象性第 49 组正确答案:C11、在数据库的三级模式中,可以有任意多个A、模式B、内模式(物理模式)C、外模式(用户模式)正确答案:C12、以下关于计算机病毒的说法,不正确的是:A、计算机病毒一般会寄生在其他程序中B、计算机病毒一般会传染其他文件C、计算机病毒一般会具有自愈性D、计算机病毒一般会具有潜伏性正确答案:C13、CPU 的参数如 2800MHz,指的是:A、CPU 的速度B、CPU 的大小C、CPU 的时钟主频D、CPU 的字长正确答案:C14、设栈与队列初始状态为空。
数据结构模拟试卷及参考答案
数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
数据结构与算法同步训练模拟试题及答案解析
数据结构与算法同步训练模拟试题及答案解析(1/43)选择题第1题下列叙述中正确的是()。
A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序的存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构下一题(2/43)选择题第2题算法的有穷性是指()。
A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用上一题下一题(3/43)选择题第3题算法的空间复杂度是指()。
A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数上一题下一题(4/43)选择题第4题定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
A.-369B.369C.0.369D.整数集合{1,2,3,4,5}上一题下一题(5/43)选择题第5题下列叙述正确的是()。
A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对上一题下一题(6/43)选择题第6题下列叙述中正确的是()。
A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构上一题下一题(7/43)选择题第7题下列关于线性链表的叙述中,正确的是()。
A.各数据结点的存储空间可以不连续,但他们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间不需连续C.进行插入数据与删除数据时,不需要异动表中的元素D.以上说法均不对上一题下一题(8/43)选择题第8题下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间上一题下一题(9/43)选择题第9题下列叙述中正确的是()。
数据结构与算法 试题及答案
数据结构与算法试题及答案数据结构与算法试题及答案在计算机科学领域,数据结构与算法是非常重要的基础知识。
数据结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。
掌握好数据结构与算法,有助于提高程序的运行效率和解决实际问题。
下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大家更好地理解和应用这方面的知识。
试题一:什么是数据结构?请举例说明。
答案一:数据结构是一种组织和存储数据的方式。
它可以使数据的操作更加高效。
常见的数据结构有数组、链表、栈、队列、树和图等。
举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。
试题二:什么是算法?请举例说明。
答案二:算法是一种解决问题的方法和步骤。
它是一个精确的描述,用于解决特定问题。
常见的算法有排序算法、查找算法、递归算法等。
例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻元素的位置来达到排序的目的。
试题三:什么是时间复杂度和空间复杂度?答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。
时间复杂度是指算法执行所需要的时间,通常用大O符号表示。
空间复杂度是指算法执行所需要的额外空间,通常也用大O符号表示。
它们都是描述算法随着输入规模增大而变化的趋势。
试题四:介绍一下常见的数据结构和相应的操作。
答案四:常见的数据结构有数组、链表、栈、队列、树和图等。
- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删除元素时需要移动其他元素。
- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过指针进行元素的访问。
- 栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除元素的操作。
- 队列是一种先进先出(FIFO)的数据结构,只能在队尾插入元素,在队头删除元素。
- 树是一种非线性数据结构,由节点和指向子节点的边组成。
常见的树有二叉树、二叉搜索树和AVL树等。
- 图是一种复杂的数据结构,由节点和边组成,可以表示各种关系。
数据结构与算法测试题+参考答案
数据结构与算法测试题+参考答案一、单选题(共80题,每题1分,共80分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?A、仅有头指针的单循环链表B、双链表C、仅有尾指针的单循环链表D、单链表正确答案:C2、数据结构研究的内容是()。
A、数据的逻辑结构B、数据的存储结构C、建立在相应逻辑结构和存储结构上的算法D、包括以上三个方面正确答案:D3、下列关于无向连通图特征的叙述中,正确的是:所有顶点的度之和为偶数边数大于顶点个数减1至少有一个顶点的度为1A、只有1B、1和2C、1和3D、只有2正确答案:A4、下面的程序段违反了算法的()原则。
void sam(){ int n=2;while (n%2==0) n+=2;printf(“%d”,n);}A、确定性B、可行性C、有穷性D、健壮性正确答案:C5、对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。
下列叙述中,正确的是:A、出现频次不同的字符在 T2 中处于相同的层B、出现频次不同的字符在 T1 中处于不同的层C、T1 的高度大于 T2 的高度D、T1 与 T2 的结点数相同正确答案:A6、数据序列{ 3,2,4,9,8,11,6,20 }只能是下列哪种排序算法的两趟排序结果?A、快速排序B、选择排序C、插入排序D、冒泡排序正确答案:A7、设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。
采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。
元素59存放在散列表中的地址是:A、11B、9C、10D、8正确答案:A8、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是:A、每次划分后,先处理较短的分区可以减少递归次数B、递归次数与每次划分后得到的分区处理顺序无关C、递归次数与初始数据的排列次序无关D、每次划分后,先处理较长的分区可以减少递归次数正确答案:B9、以下数据结构中,()是非线性数据结构。
数据结构与算法题库(含参考答案)
数据结构与算法题库(含参考答案)一、单选题(共100题,每题1分,共100分)1、在一次校园活动中拍摄了很多数码照片,现需将这些照片整理到一个PowerPoint 演示文稿中,快速制作的最优操作方法是:A、创建一个 PowerPoint 相册文件。
B、创建一个 PowerPoint 演示文稿,然后批量插入图片。
C、创建一个 PowerPoint 演示文稿,然后在每页幻灯片中插入图片。
D、在文件夹中选中所有照片,然后单击鼠标右键直接发送到PowerPoint 演示文稿中。
正确答案:A2、下面对“对象”概念描述错误的是A、对象不具有封装性B、对象是属性和方法的封装体C、对象间的通信是靠消息传递D、一个对象是其对应类的实例正确答案:A3、设栈与队列初始状态为空。
首先A,B,C,D,E依次入栈,再F,G,H,I,J 依次入队;然后依次出队至队空,再依次出栈至栈空。
则输出序列为A、F,G,H,I,J,E,D,C,B,AB、E,D,C,B,A,J,I,H,G,FC、F,G,H,I,J,A,B,C,D,E,D、E,D,C,B,A,F,G,H,I,J正确答案:A4、设表的长度为 20。
则在最坏情况下,冒泡排序的比较次数为A、20B、19C、90D、190正确答案:D5、设二叉树的前序序列为 ABDEGHCFIJ,中序序列为 DBGEHACIFJ。
则后序序列为A、DGHEBIJFCAB、JIHGFEDCBAC、GHIJDEFBCAD、ABCDEFGHIJ正确答案:A6、Excel工作表B列保存了11位手机号码信息,为了保护个人隐私,需将手机号码的后 4 位均用“*”表示,以 B2 单元格为例,最优的操作方法是:A、=REPLACE(B2,7,4,"****")B、=REPLACE(B2,8,4,"****")C、=MID(B2,7,4,"****")D、=MID(B2,8,4,"****")第 10 组正确答案:B7、小金从网站上查到了最近一次全国人口普查的数据表格,他准备将这份表格中的数据引用到 Excel 中以便进一步分析,最优的操作方法是:A、通过 Excel 中的“自网站获取外部数据”功能,直接将网页上的表格导入到 Excel 工作表中。
数据结构与算法设计试卷
数据结构与算法设计试卷(答案见尾页)一、选择题1. 数据结构中,下列哪种数据结构的插入和删除操作时间复杂度最低?A. 栈B. 队列C. 数组D. 链表2. 在二叉树的遍历方法中,哪种方法可以访问所有节点且时间复杂度为O(n)?A. 前序遍历B. 中序遍历C. 后序遍历D. 层次遍历3. 常用的排序算法中,哪种算法是基于比较的排序算法,并且时间复杂度为O(n log n)?A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序4. 在图的存储结构中,邻接矩阵适合表示哪种类型的图?A. 稀疏图B. 密集图C. 有向无环图D. 无向无环图5. 动态规划算法用于解决哪种类型的问题?A. 数值计算问题B. 字符串匹配问题C. 图论问题D. 机器学习问题6. 在最短路径问题中,Dijkstra算法和Floyd算法分别适用于哪种类型的图?A. 有权图和无权图B. 无权图和有权图C. 有向图和无向图D. 无向图和有权图7. 快速排序算法中,基准元素的选择对算法性能有何影响?A. 基准元素的选择不影响算法性能B. 基准元素选择不当会导致算法性能下降C. 基准元素选择得当可以提高算法性能D. 基准元素的选择与算法性能无关8. 在链表中,单向链表的每个节点包含哪些部分?A. 数据域和指针域B. 数据域和指针头C. 数据域和指针尾D. 数据域和指针尾9. 在栈的实现中,后进先出(LIFO)原则是如何体现的?A. 先进入栈的元素总是最先被移除B. 先进入栈的元素总是最后被移除C. 后进入栈的元素总是最先被移除D. 后进入栈的元素总是最后被移除10. 哈希表(Hash Table)的主要优点是什么?A. 查找速度快,插入和删除操作较慢B. 查找速度较慢,插入和删除操作较快C. 查找速度较快,插入和删除操作也较快D. 查找速度较慢,插入和删除操作也较慢11. 在最坏情况下,下列哪种排序算法的时间复杂度为O(n^)?A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序12. 在二叉树的遍历方法中,先序遍历的特点是?A. 先访问根节点,然后遍历左子树,最后遍历右子树B. 先访问左子树,然后访问根节点,最后遍历右子树C. 先访问左子树,然后访问右子树,最后访问根节点D. 先访问右子树,然后访问左子树,最后访问根节点13. 常用的查找算法中,哈希表的查找效率最高,其平均查找时间复杂度为?A. O(1)B. O(log n)C. O(n)D. O(n log n)14. 下列哪种数据结构适用于表示稀疏线性表?A. 数组B. 链表C. 栈D. 队列15. 最短路径问题在图论中的研究内容是?A. 路径长度B. 路径上的节点序列C. 最短路径的长度及路径上的节点序列D. 最短路径的权重16. 快速排序算法是基于什么思想进行递归划分的?A. 分治法B. 动态规划C. 贪心算法D. 回溯算法17. 在图的遍历算法中,普里姆算法用于寻找?A. 所有顶点的最短路径B. 两个顶点之间的最短路径C. 一棵树的中序遍历D. 一棵树的前序遍历18. 下列哪种数据结构可以实现队列的先进先出(FIFO)特性?A. 栈B. 队列C. 数组D. 链表19. 在深度优先搜索算法中,哪种策略用于访问所有可能的路径?A. 沿着边遍历B. 沿着对角线遍历C. 沿着某一特定方向遍历D. 沿着任意方向遍历20. 在图的遍历算法中,普里姆算法用于求解什么问题?A. 最小生成树B. 最短路径C. 连通性D. 网络流21. 哈希表的冲突解决策略中,链地址法适用于哪种情况?A. 哈希函数值分布均匀B. 哈希函数值分布不均匀C. 存储的元素数量较大D. 存储的元素数量较小22. 在快速排序算法中,基准元素的选择对算法性能有何影响?A. 基准元素选择不合适会导致排序效率降低B. 基准元素选择不合适会导致排序效率提高C. 基准元素选择对算法性能没有影响D. 基准元素选择与算法性能无关23. 在二叉树的遍历算法中,先序遍历、中序遍历和后序遍历分别适用于哪些类型的树?A. 充分不平衡的二叉树B. 充分平衡的二叉树C. 不充分平衡的二叉树D. 完全不平衡的二叉树24. 在贪心算法中,贪心选择性质如何帮助求解问题?A. 贪心选择性质使得每次选择都能立即带来全局最优解B. 贪心选择性质使得每次选择都能减少后续问题的规模C. 贪心选择性质使得每次选择都能增加后续问题的规模D. 贪心选择性质使得每次选择都能保持问题的原有规模25. 在动态规划算法中,状态转移方程如何描述问题的解决过程?A. 状态转移方程描述了问题状态之间的转移过程B. 状态转移方程描述了问题状态之间的变换过程C. 状态转移方程描述了问题状态之间的依赖关系D. 状态转移方程描述了问题状态之间的组合关系26. 在下列哪种数据结构中,元素之间的逻辑关系可以通过指针直接访问?A. 数组B. 链表C. 栈D. 队列27. 下列哪种排序算法的平均时间复杂度为O(n^)?A. 快速排序B. 归并排序C. 堆排序D. 插入排序28. 在图论中,表示图中节点间有向边的图形是?A. 无向图B. 有向图C. 网络图D. 树29. 在树的遍历算法中,先序遍历、中序遍历和后序遍历分别指的是什么?A. 先访问根节点,再遍历左子树,最后遍历右子树B. 先访问左子树,再访问根节点,最后遍历右子树C. 先访问左子树,再遍历右子树,最后访问根节点D. 先访问根节点,再遍历右子树,最后遍历左子树30. 在图的存储结构中,邻接矩阵和邻接表分别适用于哪种情况?A. 小型图和大中型图B. 大中型图和小型图C. 都适用于大型图D. 都适用于小型图31. 在动态规划算法中,解决最短路径问题常用的算法是?A. 贝尔曼-福特算法B. 弗洛伊德-沃沙尔算法C. 克鲁斯卡尔算法D. 普里姆算法32. 在贪心算法中,贪心选择性质是指什么?A. 每一步都选择局部最优解,整个问题就最优B. 每一步都选择全局最优解,整个问题就最优C. 每一步都选择当前最优解,整个问题就最优D. 每一步都选择历史最优解,整个问题就最优33. 在搜索算法中,广度优先搜索(BFS)和深度优先搜索(DFS)有何不同?A. BFS从根节点开始,逐层扩展;DFS从任意节点开始,深入探索B. BFS从任意节点开始,逐层扩展;DFS从根节点开始,深入探索C. BFS只搜索浅层节点,DFS可能搜索深层的叶子节点D. BFS只搜索浅层节点,DFS可能搜索深层的叶子节点34. 在图论中,强连通分量是指什么?A. 图中任意两个顶点之间都有路径相连B. 图中任意三个顶点之间都有路径相连C. 图中存在一个顶点集合,使得每个顶点都与另一个顶点直接相连D. 图中存在一个顶点集合,使得每个顶点都与另一个顶点循环相连35. 在下列哪种数据结构中,元素之间的关系可以通过指针直接访问?A. 数组B. 链表C. 栈D. 队列36. 在排序算法中,稳定性意味着什么?A. 相同值的元素在排序后相对顺序不变B. 不相邻的元素在排序后相对顺序不变C. 相邻的元素在排序后相对顺序不变D. 所有元素的相对顺序都不变37. 下列哪种排序算法是递归的?A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序38. 在图的存储结构中,邻接矩阵更适合表示哪种类型的图?A. 小型图B. 大型图C. 稀疏图D. 密集图二、问答题1. 什么是递归?请举例说明递归在计算机科学中的应用。
《数据结构》模拟试题综合测试题带答案 (3)
《数据结构》模拟试题03一、单项选择题(每题 2 分,共30分)1.算法指的是( )A .计算机程序B .解决问题的计算方法C .排序算法D .解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址( ) A .必须是不连续的 B .连续与否均可 C .必须是连续的D .和头结点的存储地址相连续3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为( ) A .O (1) B .O (n ) C .O (m ) D .O (m+n ) 4.由两个栈共享一个向量空间的好处是:( ) A .减少存取时间,降低下溢发生的机率 B .节省存储空间,降低上溢发生的机率 C .减少存取时间,降低上溢发生的机率 D .节省存储空间,降低下溢发生的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( )A .front=front+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m 6.如下陈述中正确的是( )A .串是一种特殊的线性表B .串的长度必须大于零C .串中元素只能是字母D .空串就是空白串7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )A .O (n3) B .O (n ) C .O (n2) D .O (n3)8.一个非空广义表的表头( )A .不可能是子表B .只能是子表C .只能是原子D .可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是( )5A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( ) A.4 B.5 C.6 D.711.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e12.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)13.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序14.适于对动态查找表进行高效率查找的组织结构是()A.有序表B.分块有序表C.三叉排序树D.线性链表15.不定长文件是指()A.文件的长度不固定B.记录的长度不固定C.字段的长度不固定D.关键字项的长度不固定二、填空题(每题2分,共20分)1.数据的逻辑结构是从逻辑关系上描述数据,它与数据的无关,是独立于计算机的。
《算法与数据结构》模拟试题3 答案
《算法与数据结构》模拟试题3(参考答案)一、填空题(每小题2分,共18分)1、 线性结构 树形结构 图(或网)状结构2、 时间复杂度 空间复杂度3、 (直接)前驱结点 (直接)后继结点4、 零个字符组成的串 05、 3006、 只有右子树上的所有结点7、 先序遍历8、 索引 块9、 操作系统 数据库二、单项选择题(请将答案写在题目后的括号中。
每题2分,共18分)三、分析题(每题6分,共30分)1、 解:所画出的二叉树如图(a)所示。
树的后序遍历序列是gdhiebfca ,其后序线索化树图(a) 二叉树图(b) 后序线索化树2、 解:该网的邻接链表如下图所示: 从顶点V 1出发的广度优先搜索的顶点序列是1→2→3→5→4,相应的生成树如下:3、 解:将关键字序列(14,9,18,7,4,13,25,19,6)依此插入到初态为空的二叉排序树中所得到的二叉排序树T 如图(a)所示;删除18之后的二叉排序树T1如图(b)所示;最后再插入18之后的二叉排序树T2。
从顶点V 1出发广度优先搜索生成树4、解:根据所给定的散列函数和处理冲突方法,得到的散列表结构如下:成功查找的平均查找长度:ASL=(1×8+2×2+3×1)/11=17/115、解:做非递减排序时的每一趟结果如下:初始关键字:35,29,52,60,17,9,38,27,13,45第一趟:[29,35] [52,60] [9,17] [27,38] [13,45]第二趟:[29,35,52,60] [9,17,27,38] [13,45]第三趟:[29,35,52,60] [9,13,17,27,38,45]第四趟:[9,13,17,27,29,35,38,45,52,60]第四趟归并完毕,排序结束。
四、算法填空(每空2分,共20分)请在下面各个算法的空白处填上相应的语句,以实现算法功能。
每个空白处只能填一个语句。
数据结构与算法考试模拟题+参考答案
数据结构与算法考试模拟题+参考答案一、单选题(共100题,每题1分,共100分)1、某企业为了组建内部办公网络,需要具备的设备是:A、大容量硬盘B、路由器C、DVD 光盘D、投影仪正确答案:B2、计算机指令由两部分组成,它们是:A、操作数和结果B、数据和字符C、运算符和运算数D、操作码和操作数正确答案:D3、在 2017 年的某一天,使用 Excel 2010 输入日期,并显示为“2017 年 2 月 1 日”,最快捷的操作方法是:A、输入“2017/2/1”,并设置格式B、输入“2/1”,并设置格式C、输入“17/2/1”,并设置格式D、直接输入“17/2/1”即可正确答案:B4、学校规定一个年级的所有班配备一名辅导员,则实体班级与实体辅导员之间的联系是A、多对多B、多对一C、一对一D、一对多正确答案:B5、设栈与队列初始状态为空。
将元素A,B,C,D,E,F,G,H 依次轮流入栈和入队,然后依次轮流退队和出栈,则输出序列为A、B,G,D,E,F,C,H,AB、G,B,E,D,C,F,A,HC、D,C,B,A,E,F,G,HD、A,B,C,D,H,G,F,E正确答案:A6、某二叉树的中序遍历序列为 CBADE ,后序遍历序列为 CBEDA ,则前序遍历序列为A、ABCDEB、CBEDAC、CBADED、EDCBA正确答案:A7、在 Word 文档中,不可直接操作的是:A、录制屏幕操作视频B、插入 Excel 图表C、插入 SmartArtD、屏幕截图第 6 组正确答案:A8、Internet 的四层结构分别是:A、物理层、数据链路层、网络层和传输层B、网络接口层、网络层、传输层和应用层C、应用层、表示层、传输层和网络层D、应用层、传输层、通信子网层和物理层正确答案:B9、树的度为 3,且有 9 个度为 3 的结点,5 个度为 1 的结点,但没有度为 2 的结点。
则该树中的叶子结点数为A、33B、18C、19D、32正确答案:C10、设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1。
算法与数据结构C语言版课后习题答案(机械工业出版社)第3,4章习题参考答案
算法与数据结构C语⾔版课后习题答案(机械⼯业出版社)第3,4章习题参考答案第3章栈和队列⼀、基础知识题3.1有五个数依次进栈:1,2,3,4,5。
在各种出栈的序列中,以3,4先出的序列有哪⼏个。
(3在4之前出栈)。
【解答】34215 ,34251,345213.2铁路进⾏列车调度时,常把站台设计成栈式结构,若进站的六辆列车顺序为:1,2,3,4,5,6,那么是否能够得到435612, 325641, 154623和135426的出站序列,如果不能,说明为什么不能;如果能,说明如何得到(即写出"进栈"或"出栈"的序列)。
【解答】输⼊序列为123456,不能得出435612和154623。
不能得到435612的理由是,输出序列最后两元素是12,前⾯4个元素(4356)得到后,栈中元素剩12,且2在栈顶,不可能让栈底元素1在栈顶元素2之前出栈。
不能得到154623的理由类似,当栈中元素只剩23,且3在栈顶,2不可能先于3出栈。
得到325641的过程如下:1 2 3顺序⼊栈,32出栈,得到部分输出序列32;然后45⼊栈,5出栈,部分输出序列变为325;接着6⼊栈并退栈,部分输出序列变为3256;最后41退栈,得最终结果325641。
得到135426的过程如下:1⼊栈并出栈,得到部分输出序列1;然后2和3⼊栈,3出栈,部分输出序列变为13;接着4和5⼊栈,5,4和2依次出栈,部分输出序列变为13542;最后6⼊栈并退栈,得最终结果135426。
3.3若⽤⼀个⼤⼩为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除⼀个元素,再加⼊两个元素后,rear和front的值分别为多少?【解答】2和43.4设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,⼀个元素出栈后即进队列Q,若6个元素出队的序列是e3,e5,e4,e6,e2,e1,则栈S的容量⾄少应该是多少?【解答】43.5循环队列的优点是什么,如何判断“空”和“满”。
2023大学_算法与数据结构模拟试题及参考答案
2023算法与数据结构模拟试题及参考答案算法与数据结构模拟试题一、单选题1. 数据是信息的载体,它有( )几种形式。
A. 整数和实型数B. 字符串C. 图像和声音D. 信息E. 磁盘文件2. 在算法分析与数据结构中,算法描述方法有( )。
A. 自然语言B. 框图C. 类计算机语言D. 数据结构3. 常用的线性表存贮结构有( )。
A. 顺序存贮结构B. 链表存贮结构C. 队列存贮结构D. 堆栈存贮结构E. 顺序存贮与链表存贮混合结构 4. 一维数组元素的类型可以是( )。
A. 简单变量,如整数、浮点数B. 复合变量,如结构体、数组C. 只有简单变量D. 指针变量E. 字符串5. 假设以链表的方式实现堆栈,top为栈顶指针,指向类型为linkstack 类型,下述程序实现将堆栈初始化为空栈的操作。
程序( )是正确的。
A. void INITSTACK( linkstack __top ) { top = NULL;};B. void INITSTACK(linkstack __ top ) { top = -1;};C. void INITSTACK(linkstack __ top ) { top = 0;};D. void INITSTACK(linkstack __ top ) { top =空;};6. 下列排序算法中哪些是不稳定的?( )A. 冒泡排序B. 选择排序C. 快速排序D. 堆排序算法与数据结构模拟试题二、多选题1. 线性表中的元素只能是简单类型。
( )2. 线性表是数组。
( )3. 如果入队与出队的操作顺序不同,其输出元素的顺序可以与输入元素的顺序不同。
( )4. 栈满是数据对象栈的固有操作。
( )5. 二叉树只有前序、中序和后序三种遍历运算。
( )6. 数据结构中只研究了二叉树,对一般树没有给出解决问题的算法。
( )7. 在单向链表中,在X指向的结点后插入结点,对应的方法与X是否是头指针无关。
二级公共基础知识数据结构与算法(三)模拟题
[模拟] 二级公共基础知识数据结构与算法(三)单项选择题第1题:算法的空间复杂度是指______。
A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数参考答案:A一般来说,一个算法的空间复杂度是指执行该算法所需的内存空间。
一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
第2题:下列数据结构中,属于非线性结构的是______。
A.循环队列B.带链队列C.二叉树D.带链栈参考答案:C线性结构满足两个条件:有且只有一个根节点;每个节点最多有一个前件,也最多有一个后件。
栈、队列都属于线性结构,栈是一种先进后出的线性结构,允许在栈顶进行插入或删除运算;队列则是一种先进先出的线性结构,允许在队尾进行捅入运算,而在队头进行删除运算。
二叉树是一种非线性结构,因为除叶子节点,每个节点都有两个后件,不满足线性结构的条件。
第3题:下列数据结构中,能够按照“先进后出”原则存取数据的是______。
A.循环队列B.栈C.队列D.二叉树参考答案:B第4题:对于循环队列,下列叙述中正确的是______。
A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针参考答案:D第5题:下列叙述正确的是______。
A.栈是“先进先出”的线性表B.队列是“后进先出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构参考答案:D栈是“先进后出”的线性表,而队列是“先进先出”的线性表,循环队列自然也是线性结构的,有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。
第6题:下列排序方法中,最坏情况下比较次数最少的是______。
A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序参考答案:D本题考查各种排序方法的时间复杂度,冒泡排序、简单选择排序、直接插入排序在最坏的情况下比较次数都是O(n2),而堆排序的时间复杂度为O(nlog2n),这也是堆排序的最大优点。
数据结构试题 试卷三 含答案
模拟试题三模拟试题三一、选择题(30分)1.下面程序的时间复杂度为( )。
for(i=O;i<m;i++)for(j=0;j<t;j++)c[i][j]=O;for(i=O;i<m;i++)for(j=O;j<t;j++)for(k=O;k< SPAN>c[i][j]=c[i][j]+a[i][k]b[k][j];A) O (mnt) B)0(m+n+t) C) O(m+nt) D)O(mt+n)2.从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动( )个元素。
A) n-i B) n-i+l C) n-i-l D)i3.串的逻辑结构与( )的逻辑结构不同。
A)线性表 B)栈 C)队列 D)树4.二叉树第i(i≥1)层最多有( )个结点。
A) 2i B) 2i C) 2i-l D) 2i-15.设单链表中指针p指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为( )。
A) p->next=p->next->next B) p=p->nextC) p=p->next->next D)p->next=p6.设一数列的输入顺序为l,2,3,4,5,6,通过栈操作不可能排成的输出序列为( )。
A)3,2,5,6,4,l B)l,5,4,6,2,3C)2,4,3,5,l,6 D)4,5,3,6,2,l7。
设字符串Sl=‘ABCDEFG’,S2=‘PQRST’,则运算S=Concat(Sub(S1,2,Length(S2))Sub(S1,Length(S2),2))后结果为( )。
A)‘BCQR' B)‘BCDEF'C)‘BCDEFG' D)‘BCDEFEF'8.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,all为第1个元素,其存储地址为1,每个元素占用1个地址空间,则a85的地址为( )A) 13 B) 33 C) 18 D) 409.如果结点A有3个兄弟,且B为A的双亲,则B的度为( )。
数据结构与算法试题及
数据结构与算法试题及答案参考数据结构与算法试题及答案参考一、选择题1. 数据结构是研究什么的?A. 数据的结构和组织B. 数据的格式和排列C. 数据的读取和写入D. 数据的传输和存储正确答案:A2. 在数据结构中,栈(Stack)的特点是什么?A. 先进先出B. 先进后出C. 后进先出D. 后进后出正确答案:C3. 在链表中,结点的指针指向的是什么?A. 结点本身B. 结点的前一个结点C. 结点的后一个结点D. 结点的数据域正确答案:C4. 在二叉搜索树中,左子树的值都小于根节点,右子树的值都大于根节点。
这种特性被称为什么性质?A. 有序性B. 平衡性C. 完全性D. 二叉性正确答案:A二、填空题1. 算法的复杂度可以分为时间复杂度和________复杂度。
正确答案:空间2. 实现队列数据结构可以采用两个栈的方式,称为______队列。
正确答案:双栈3. 快速排序算法的时间复杂度为______。
正确答案:O(nlogn)三、编程题1. 请编写一个函数,实现对一个数组进行冒泡排序。
正确答案:```pythondef bubble_sort(arr):for i in range(len(arr) - 1):for j in range(len(arr) - 1 - i):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]return arr```2. 请编写一个递归函数,计算斐波那契数列的第n项。
正确答案:```pythondef fibonacci(n):if n <= 1:return nelse:return fibonacci(n - 1) + fibonacci(n - 2)```四、简答题1. 请简单描述树和图的区别。
答:树是一种特殊的图,它是一个由节点和边组成的非线性数据结构,具有层级关系,且任意两个节点之间有且仅有一条路径相连。
数据结构与算法分析模拟试题及答案
数据结构与算法分析模拟试题及答案一、选择题1. 下列哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 树D. 图答案:B2. 在排序算法中,哪一种算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 堆排序答案:D3. 下列哪种算法不属于贪心算法?A. 背包问题B. 最短路径问题C. 活动选择问题D. 最小生成树问题答案:C4. 在二叉树中,下列哪种遍历方式是先访问左子树,再访问右子树?A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:C二、填空题1. 在链表中,每个节点包含两个域:数据域和______域。
答案:指针2. 在二分查找法中,每次比较的中间元素的下标为______。
答案:(low + high) / 23. 快速排序算法的时间复杂度为______。
答案:O(nlogn)4. 最小生成树算法中,普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法的时间复杂度分别为______和______。
答案:O(n^2),O(elogn)三、判断题1. 线性表是一种随机存取的数据结构。
()答案:正确2. 在二叉树中,每个节点的度都不超过2。
()答案:正确3. 贪心算法在每一步都选择当前最优解,一定能得到全局最优解。
()答案:错误4. 在排序算法中,冒泡排序算法的时间复杂度最低。
()答案:错误四、简答题1. 请简述快速排序算法的基本思想。
答案:快速排序的基本思想是分治法。
首先选取一个基准元素,将比基准元素小的元素放在其左边,比基准元素大的元素放在其右边。
然后递归地对左右两边的子数组进行快速排序。
2. 请简述二分查找法的基本思想。
答案:二分查找法的基本思想是折半查找。
首先确定待查找区间,然后计算中间元素的下标。
若中间元素等于目标值,则查找成功;若中间元素小于目标值,则在左半区间继续查找;若中间元素大于目标值,则在右半区间继续查找。
重复以上过程,直到查找成功或区间为空。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题(每题2分,共20分)
1.对一个算法的评价,不包括如下()方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度
2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;
二、填空题(每空1分,共26分)
1.联系图(或图结构)
2.尾首
3.top==0
4.O(1)O(n)
5.128 44 108
6.3 3
7. 有序n-1
8.有序序列后缀表达式(或逆波兰式)
9.2n n-1 n+1
10.2i+1 2i+2 (i-1)/2
11.开放定址法链接法
12.快速归并
三、运算题(每题6分,共24分)
A. 2 3 1B.321
C.312D. 12 3
5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图
6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突B.高于链接法处理冲突
C.与链接法处理冲突相同D.高于二分查找
7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
C. p->next=HL; p=HL;D. HL=p; p->next=HL;
3.对线性表,在下列哪种情况下应当采用链表表示?( )
A.经常需要随机地存取元素B.经常需要进行插入和删除操作
C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变
4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )
visited[i]=true;
QInsert(Q,i);
while(!QueueEmpty(Q)) {
int k=QDelete(Q);
edgenode* p=GL[k];
while(p!=NULL)
{
int j=p->adjvex;
if(!visited[j])
{
cout<<j<<' ';
visited[j]=true;
9.下面的二叉树中,( )不是完全二叉树。
10. 设有关键码序列(q,g,m,z,a),下面哪一个序列是从上述序列出发建的小根堆的结果?( )
A. a,g,m,q,zB. a,g,m,z,q
C.g,m,q,a,z D.g,m,1.数据结构是指数据及其相互之间的______________。当结点之间存在1对N(1:N)的联系时,称这种结构为_____________________。
}
return -1;//查找失败,返回-1
}
六、编写算法(共8分)
HL是单链表的头指针,试写出删除头结点的算法。
ElemType DeleFront(LNode * & HL)
模拟试卷三参考答案
一、单选题(每题2分,共20分)
1.B 2.A 3.B 4.C 5.D 6.B 7.D 8.A 9.D 10.C
9.对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。
10.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。其余类推,则A[i]元素的左孩子元素为________,右孩子元素为_______________,双亲元素为____________。
A.15 B.14C.16D.21
5.由权值分别为4,7,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
A.11B.37 C.19D.53
以下6-8题基于下面的叙述:若某二叉树结点的中序遍历的序列为A、B、C、D、E、F、G,后序遍历的序列为B、D、C、A、F、G、E。
6.则该二叉树结点的前序遍历的序列为( ).
3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是_____________________。
4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7,列下标j从0到3,则二维数组W的数据元素共占用_______个字节。W中第6行的元素和第4列的元素共占用_________个字节。若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。
A.单链表B.双链表
C.带头结点的双循环链表D.单循环链表
3.以下哪一个不是队列的基本运算?()
A.在队列第i个元素之后插入一个元素B.从队头删除一个元素
C.判断一个队列是否为空D.读取队头元素的值
4.字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?
11.在线性表的散列存储中,处理冲突的常用方法有________________________和_____________________________两种。
12. 当待排序的记录数较大,排序码较随机且对稳定性不作要求时,宜采用_______________排序;当待排序的记录数较大,存储空间允许且要求排序是稳定时,宜采用________________________排序。
2.一个广义表中的元素分为________元素和________元素两类。
3.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
4.向一个由HS指向的链栈中插入一个结点时p时,需要执行的操作是_________________;删除一个结点时,需要执行的操作是___________________________(假设栈不空而且无需回收被删除结点)。
A.值B.函数C.指针D.引用
8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数
9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n)B.O(nlog2n)C.0(n)D.0(n2)
10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
2.功能为:从初始点vi出发广度优先搜索由邻接表GL所表示的图。
五、算法填空(8分)
(low+high)/2high=mid-1low=mid+1
六、编写算法(8分)
ElemType DeleFront(LNode * & HL)
{
if (HL==NULL){
cerr<<"空表"<<endl;
exit(1);
三、运算题(每题6分,共24分)
1.已知一个65稀疏矩阵如右所示,试:
(1)写出它的三元组线性表;
(2)给出三元组线性表的顺序存储表示。
2.设有一个输入数据的序列是{46, 25, 78, 62, 12, 80},试画出从空树起,逐个输入各个数据而生成的二叉搜索树。
3.对于图6所示的有向图若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试写出:
if (n%i==0) break;
if (i>x) return 1;
else return 0;
}
(1)指出该算法的功能;
(2)该算法的时间复杂度是多少?
2.写出下述算法的功能:
voidAJ(adjlist GL, int i, int n)
{
Queue Q;
InitQueue(Q);
cout<<i<<' ';
8.以折半(或二分)查找方法从长度为8的有序表中查找一个元素时,平均查找长度为________。
9.表示图的三种常用的存储结构为_____________、____________和_______________。
10.对于线性表(78,4,56,30,65)进行散列存储时,若选用H(K)=K %5作为散列函数,则散列地址为0的元素有________个,散列地址为4的有_______个。
A. E、G、F、A、C、D、B B. E、A、G、C、F、B、D
C. E、A、C、B、D、G、F D.E、G、A、C、D、F、B
7.该二叉树有()个叶子。
A.3 B.2C.5 D.4
8.该二叉树的按层遍历的序列为( )
A.E、G、F、A、C、D、BB. E、A、C、B、D、G、F
C. E、A、G、C、F、B、DD. E、G、A、C、D、F、B
if (K==A[mid].key) return mid;//查找成功,返回元素的下标
else if (K<[mid].key)
______________________________________;//在左子表上继续查找
else __________________________________;//在右子表上继续查找
QInsert(Q,j);
}
p=p->next;
}
}
}
五、算法填空(共8分)
如下为二分查找的非递归算法,试将其填写完整。
Int Binsch(ElemType A[ ],int n,KeyType K)
{
int low=0;