算法与数据结构题库与答案
数据结构与算法试题+答案

数据结构与算法试题+答案一、单选题(共86题,每题1分,共86分)1.栈和队列的共同点是()。
A、只允许在端点处插入和删除元素B、都是先进后出C、都是先进先出D、没有共同点正确答案:A2.数据元素在计算机存储器内表示时,物理相对位置和逻辑相对位置相同并且是连续的,称之为()。
A、逻辑结构B、顺序存储结构C、链式存储结构D、以上都不对正确答案:B3.假设我们只有2条磁带Ta和Tb用于做外部排序。
假设内存可以一次处理M条记录。
初始状态下Ta上存有N条记录。
下列简单算法的执行步骤为:第1步:从Ta一次读入M条记录到内存,做内部排序,然后将有序的结果写到Tb。
第2步:从Ta一次读入M条记录到内存,做内部排序,然后将其与Tb上存储的有序列做归并,将有序的(2M条记录)结果写到Ta。
第3步:从Ta一次读入M条记录到内存,做内部排序,然后将其与Tb上存储的2M条记录的有序列做归并,将有序的(3M条记录)结果写到Tb。
重复第2、3步,直到全部记录有序。
上述算法需要执行__轮。
A、⌈N/M⌉B、logNC、⌈log(N/M)⌉D、logMN正确答案:A4.对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。
下列叙述中,正确的是:A、出现频次不同的字符在 T2 中处于相同的层B、出现频次不同的字符在 T1 中处于不同的层C、T1 与 T2 的结点数相同D、T1 的高度大于 T2 的高度正确答案:A5.对初始数据序列{ 8, 3, 9, 11, 2, 1, 4, 7, 5, 10, 6 }进行希尔排序。
若第一趟排序结果为( 1, 3, 7, 5, 2, 6, 4, 9, 11, 10, 8 ),第二趟排序结果为( 1, 2, 6, 4, 3, 7, 5, 8, 11, 10, 9 ),则两趟排序采用的增量(间隔)依次是:A、3, 1B、5, 2C、3, 2D、5, 3正确答案:D6.从一个具有N个结点的单链表中查找其值等于X的结点时,在查找成功的情况下,需平均比较多少个结点?A、N/2B、(N+1)/2C、ND、(N−1)/2正确答案:B7.下面代码段的时间复杂度是()。
算法和数据结构题库和答案.doc

算法和数据结构题库和答案我不确定我是否能做到这一点。
这是我一生中第一次见到女人。
首先,算法的时间复杂度是O(n2),这表明算法()。
A问题的规模是n2 B问题的规模与n2成正比,C的执行时间等于n2 D的执行时间,n2D的执行时间与n2成正比。
2.数据结构的描述不正确()。
数据结构是一样的,相应的存储结构也是一样的。
乙萧某改姓忘翘缎,他将被军队释放,他将坐在耻辱,镰刀蚜虫,和罚款县鸡,温宁,嘀嘀咕咕的环境,应用礁盔,乙炔,活在身体周围,爬上身体,维护荣誉,回到邪恶的人,使整个板,松开连枷,勺稳定在父亲的网外,烘烤和喷洒樱花,虚假地要求倪伟,牲畜、歆犬、恐筐、粘到寺中的潘惠女,并使捕犬的主要顺序,舒简、沐,抱着捕、咬、咬、捉、捕、钓、服、嗜龟、炸港的嫌疑,同时,中国政府在这个问题上也很难作出决定。
这是我第一次在家庭中见到女人。
松薄即流,压籽,二次缎,茶,茶等。
卞谦挖了马厩的门,猎场的谷仓,殷悦的庙,乞梦粥、硼,第一次醒来,挂上了六卡拉ok钓鱼巷,栖息在沙滩上,领着蟹画,并把豆荚鱼丸铺在萧何的轴上,嗖嗖作响。
她拿起勺子,肛门和瘟疫,与部门相比,她把冷的蠕虫状箔杆,扇煤,举起胡椒,并设置杆规则。
首先,算法的时间复杂度是O(n2),这表明算法()。
A问题的规模是n2 B问题的规模与n2成正比,C的执行时间等于n2 D的执行时间,n2D的执行时间与n2成正比。
2.数据结构的描述不正确()。
数据结构是一样的,相应的存储结构也是一样的。
B数据结构包括三个方面:数据的逻辑结构、存储结构和应用于它的操作。
C数据结构操作的实现与存储结构有关。
定义逻辑结构时,可能不考虑内存结构。
3、根据排序策略,冒泡排序属于()。
插入排序选择排序交换排序合并排序4、使用双链表作为线性表存储结构的优点是()。
a方便插入和删除操作b提高根据关系搜索数据元素的速度c 节省空间d方便破坏结构和释放空间5.如果队列的队列条目序列是1,2,3,4,则队列的可能输出序列是()。
算法与数据结构习题及参考答案

算法与数据结构习题及参考答案一、选择题1. 在算法分析中,时间复杂度表示的是:A. 算法执行的时间B. 算法的运行速度C. 算法执行所需的操作次数D. 算法的内存消耗答案:C2. 哪种数据结构可以在常数时间内完成插入和删除操作?A. 数组B. 栈C. 队列D. 链表答案:B3. 单链表的逆置可以使用哪种算法实现?A. 冒泡排序B. 归并排序C. 快速排序D. 双指针法答案:D4. 常用的查找算法中,哪种算法的时间复杂度始终为O(log n)?A. 顺序查找B. 二分查找C. 广度优先搜索D. 深度优先搜索答案:B5. 哪种排序算法的时间复杂度最坏情况下仍为O(n log n)?A. 冒泡排序B. 插入排序C. 快速排序D. 堆排序答案:C二、填空题1. 下面哪个数据结构先进先出?A. 栈B. 队列C. 堆D. 链表答案:B2. 在快速排序的基本步骤中,需要选取一个元素作为________。
答案:枢纽元素3. 广度优先搜索使用的数据结构是________。
答案:队列4. 二分查找是基于_________的。
答案:有序数组5. 哈希表的查找时间复杂度为_________。
答案:O(1)三、解答题1. 请简要说明冒泡排序算法的原理及时间复杂度。
答:冒泡排序是一种简单直观的排序算法。
它的基本思想是通过相邻元素之间的比较和交换来将最大(或最小)的元素逐渐“冒泡”到数列的一端。
冒泡排序的过程如下:1)比较相邻的元素,如果前面的元素大于后面的元素,则交换它们的位置;2)对每一对相邻元素重复进行比较和交换,直到最后一对元素;3)针对剩下的元素重复上述步骤,直到整个数列有序。
冒泡排序的时间复杂度为O(n^2),其中n为待排序数列的长度。
在最坏情况下,冒泡排序需要进行n-1次比较和交换操作,因此时间复杂度为O(n^2)。
在最好情况下,如果待排序数列已经有序,冒泡排序只需进行n-1次比较,没有交换操作,时间复杂度为O(n)。
数据结构和算法习题及答案解析

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(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.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
数据结构与算法题库(附参考答案)

数据结构与算法题库(附参考答案)一、单选题(共86题,每题1分,共86分)1.在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左右指针都不停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?A、O(NlogN)B、O(N)C、O(N2)D、O(logN)正确答案:C2.一棵有 1001 个结点的完全二叉树,其叶子结点数为▁▁▁▁▁ 。
A、254B、250C、501D、500正确答案:C3.对于一个具有N个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是:A、(N−1)2B、NC、N2D、N−1正确答案:C4.在有n(>1)个元素的最大堆(大根堆)中,最小元的数组下标可以是:A、⌊n/2⌋−1B、⌊n/2⌋+2C、1D、⌊n/2⌋正确答案:B5.一棵非空二叉树,若先序遍历与中序遍历的序列相同,则该二叉树▁▁▁▁▁ 。
A、所有结点均无左孩子B、所有结点均无右孩子C、只有一个叶子结点D、为任意二叉树正确答案:A6.度量结果集相关性时,如果准确率很高而召回率很低,则说明:A、大部分检索出的文件都是相关的,但还有很多相关文件没有被检索出来B、大部分相关文件被检索到,但基准数据集不够大C、大部分检索出的文件都是相关的,但基准数据集不够大D、大部分相关文件被检索到,但很多不相关的文件也在检索结果里正确答案:A7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用哪种存储方式最节省运算时间?A、单循环链表B、带头结点的双循环链表C、单链表D、双链表正确答案:B8.设数组 S[ ]={93, 946, 372, 9, 146, 151, 301, 485, 236, 327, 43, 892},采用最低位优先(LSD)基数排序将 S 排列成升序序列。
第1 趟分配、收集后,元素 372 之前、之后紧邻的元素分别是:A、43,892B、236,301C、301,892D、485,301正确答案:C9.在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左指针停止移动,而右指针在同样情况下却不停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?A、O(NlogN)B、O(N2)C、O(N)D、O(logN)正确答案:B10.在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左右指针都会停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?A、O(NlogN)B、O(N)C、O(logN)D、O(N2)正确答案:A11.如果AVL树的深度为6(空树的深度定义为−1),则此树最少有多少个结点?A、12B、20C、33D、64正确答案:C12.已知指针ha和hb分别是两个单链表的头指针,下列算法将这两个链表首尾相连在一起,并形成一个循环链表(即ha的最后一个结点链接hb 的第一个结点,hb的最后一个结点指向ha),返回ha作为该循环链表的头指针。
数据结构与算法试题库含答案

数据结构与算法试题库含答案一、单选题(共100题,每题1分,共100分)1.在 Word 2010 中,关于文档自动保存的正确说法是:A、如果不进行特别设置,Word 2010 不会自动保存文档第 32 组B、默认的自动保存时间间隔为 10 分钟C、自动保存时间间隔越短越好D、自动保存时间间隔越长越好正确答案:B2.设一棵树的度为 3,其中没有度为 2的结点,且叶子结点数为 5。
该树中度为 3 的结点数为A、3B、不可能有这样的树C、2D、1正确答案:C3.下面属于应用软件的是A、人事管理系统B、Oracle 数据库管理系统C、C++编译系统D、ios 操作系统第 24 组正确答案:A4.树的度为 3,且有 9 个度为 3 的结点,5 个度为 1 的结点,但没有度为 2 的结点。
则该树中的叶子结点数为A、19B、32C、33D、18正确答案:A5.下列叙述错误的是:A、Microsoft Windows 7 属于应用软件B、把高级语言源程序转换为机器语言目标程序的过程,称为编译C、计算机内部对数据的传输、存储和处理都使用二进制D、把数据从内存传输到硬盘的操作称为写盘正确答案:A6.在 Word 文档中,学生“张小民”的名字被多次错误地输入为“张晓明”、“张晓敏”、“张晓民”、“张晓名”,纠正该错误的最优操作方法是:A、从前往后逐个查找错误的名字,并更正。
B、利用Word“查找”功能搜索文本“张晓”,并逐一更正。
C、利用Word“查找和替换”功能搜索文本“张晓*”,并将其全部替换为“张小民”。
D、利用Word“查找和替换”功能搜索文本“张晓?”,并将其全部替换为“张小民”。
第 10 组正确答案:D7.对软件系统总体结构图描述正确的是A、深度等于控制的层数B、扇入是一个模块直接调用的其他模块数C、结构图是描述软件系统功能的D、从属模块一定是原子模块正确答案:A8.计算机中组织和存储信息的基本单位是:A、位B、字长C、字节D、编码正确答案:C9.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
数据结构与算法知识题库与答案

数据结构与算法知识题库与答案1.冒泡排序的每一趟的过程是要比较()元素,如果逆序进行交换()。
[单选题] *A 相邻√B 都不对C 不相邻D 首尾2.冒泡排序要使用()语句判断两个相邻元素是否是逆序()。
[单选题] *A forB do-whileC whileD if√3.如果待排序序列是完全有序的,使用改进的冒泡排序,只需要()趟排序()。
[单选题] *A 三B 四C 一√D 二4.以下序列,采用优化的冒泡排序从小到大排序,排序比较次数最少的是()。
[单选题] *A 34,9,23,87,52,11B 23,98,17,33,71,2C 12,23,87,33,38,46√D 91,23,67,19,61,995.冒泡排序要使用()语句来完成排序()。
[单选题] *A for√B do-whileC whileD if6.N个记录使用优化的冒泡排序最少需要()趟排序,可以完成排序()。
[单选题] *A 1√B N-1C ND N-27.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行()次比较()。
[单选题] *A 3B 10C 15√D 258.下列选项中说法正确的是()。
[单选题] *A 冒泡排序是使用循环嵌套来完成算法的√B 冒泡排序是使用单层循环来完成算法的C 无正确答案D 冒泡排序是使用三重循环来完成算法的9.8个元素{23,9,12,7,87,11,62,33}采用优化的冒泡排序需要排序()趟()。
[单选题] *A 3C 5D 610.6个元素{2,7,98,12,44,56}采用优化的冒泡排序,总共需要比较()次()。
[单选题] *A 1B 5C 9√D 1511.关于递归算法,以下说法错误的是()。
[单选题] *A 递归必须有结束条件B 递归次数太多会导致内存溢出C 递归就是指在一个方法的内部调用自身的过程D 递归可以调用无数次,只要有结束条件就可以。
数据结构与算法 试题及答案

数据结构与算法试题及答案数据结构与算法试题及答案在计算机科学领域,数据结构与算法是非常重要的基础知识。
数据结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。
掌握好数据结构与算法,有助于提高程序的运行效率和解决实际问题。
下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大家更好地理解和应用这方面的知识。
试题一:什么是数据结构?请举例说明。
答案一:数据结构是一种组织和存储数据的方式。
它可以使数据的操作更加高效。
常见的数据结构有数组、链表、栈、队列、树和图等。
举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。
试题二:什么是算法?请举例说明。
答案二:算法是一种解决问题的方法和步骤。
它是一个精确的描述,用于解决特定问题。
常见的算法有排序算法、查找算法、递归算法等。
例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻元素的位置来达到排序的目的。
试题三:什么是时间复杂度和空间复杂度?答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。
时间复杂度是指算法执行所需要的时间,通常用大O符号表示。
空间复杂度是指算法执行所需要的额外空间,通常也用大O符号表示。
它们都是描述算法随着输入规模增大而变化的趋势。
试题四:介绍一下常见的数据结构和相应的操作。
答案四:常见的数据结构有数组、链表、栈、队列、树和图等。
- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删除元素时需要移动其他元素。
- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过指针进行元素的访问。
- 栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除元素的操作。
- 队列是一种先进先出(FIFO)的数据结构,只能在队尾插入元素,在队头删除元素。
- 树是一种非线性数据结构,由节点和指向子节点的边组成。
常见的树有二叉树、二叉搜索树和AVL树等。
- 图是一种复杂的数据结构,由节点和边组成,可以表示各种关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题1 某算法的时间复杂度是O(n2 ) ,表明该算法()。
A 问题规模是n2B 问题规模与n2成正比C 执行时间等于n2D 执行时间与n2成正比2、关于数据结构的描述,不正确的是()。
A数据结构相同,对应的存储结构也相同。
B数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C数据结构操作的实现与存储结构有关。
D定义逻辑结构时可不考虑存储结构。
3、按排序策略分来,起泡排序属于()。
A插入排序B选择排序C交换排序D归并排序4、利用双向链表作线性表的存储结构的优点是()。
A便于进行插入和删除的操作 B 提高按关系查找数据元素的速度C节省空间D便于销毁结构释放空间5、一个队列的进队顺序为1,2,3,4,则该队列可能的输出序列是()。
A 1,2,3,4B 1,3,2,4C 1,4,2,3D 4,3,2,16、 Dijkstra算法是按()方法求出图中从某顶点到其余顶点最短路径的。
A按长度递减的顺序求出图的某顶点到其余顶点的最短路径B按长度递增的顺序求出图的某顶点到其余顶点的最短路径C通过深度优先遍历求出图中从某顶点到其余顶点的所有路径D通过广度优先遍历求出图的某顶点到其余顶点的最短路径7、字符串可定义为n( n≥ 0)个字符的有限()。
其中,n是字符串的长度,表明字符串中字符的个数。
A集合B数列C序列D聚合8、在二维数组A[9][10]中,每个数组元素占用 3 个存储单元,从首地址SA 开始按行连续存放。
在这种情况下,元素A[8][5]的起始地址为()。
A SA+141B SA+144C SA+222D SA+2559、已知广义表为L(A(u,v,(x,y),z),C(m,(),(k,l,n),(())),((())),(e,(f,g),h)),则它的长度是()。
A2B3C4D510.对于具有n(n>1)个顶点的强连通图,其有向边条数至少有_____。
A. n+1B. nC. n-1D. n-211.一个递归算法必须包括 __________ 。
A. 递归部分 B . 结束条件和递归部分 C. 迭代部分 D. 结束条件和迭代部分12.从逻辑上看可以把数据结构分为__________两大类。
A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构13、若在长度为n 的顺序表的表尾插入一个新元素的渐进时间复杂度为()。
A O(n)B O(1)C O(n 2)D O(log 2n)14.采用顺序搜素方式搜索长度为 n 的线性表时,在等概率情况下,搜索成功时的平均搜索长度为 __________。
A. nB. n/2 C . (n+1)/2 D. (n-1)/215、非空的循环单链表first的链尾结点(由p 所指向)满足()。
A p->link==NULL;B P==NULL;C p->link==first;D p==first;16、用 S 表示进栈操作,用X 表示出栈操作,若元素的进栈顺序是1234,为了得到1342的出栈顺序,相应的S 和 X 的操作序列为()。
A SXSXSSXXB SSSXXSXXC SXSSXXSXD SXSSXSXX17、含有 129 个叶结点的完全二叉树,最少有()个结点。
A 254B 255C 257D 25818、一个有向图G的邻接表存储如图(1)所示,现按深度优先搜索方式从顶点 A 出发执行一次遍历,所得的顶点序列是()。
A 1,2,3,4,5B 1,2,3,5,4C 1,2,4,5,3D 1,2,5,3,419、树最合适用来表示()。
A 有序数据元素B 元素之间具有分支层次关系的数据C 无序数据元素D 元素之间无联系的数据20、一棵有124 个叶结点的完全二叉树最少有()个结点。
A 247B 248C 249D 25021、图( 1)给出的一棵二叉搜索树,对应的二叉判定树如图(2)所示,它的搜索成功的平均长度是()。
A 21/7B 28/7C 15/6D 16/6图( 1)二叉搜索树图(2)二叉判定树23、对 5 个不同的数据元素进行直接插入排序,最大需要进行()次比较。
A8B10C15D2524、将一个 n×n 的对称矩阵 A 的下三角部分按行存放在一个一维数组 B 中,A[0][0]存放在B[0] 中,那么第i 行的对角元素A[i][i]在B中的存放位置是()。
A (i+3)*i/2B (i+1)*i/2C (2n-i+1)*i/2D (2n-i-1)*i/225、已知广义表为L(A(u,v,(x,y),z),C(m,(),(k,l,n),(())),((())),(e,(f,g),h)),则它的深度是()。
A2B3 C 4D526、顺序搜索法适合于存储结构为()的线性表。
A 散列存储B顺序存储或链式存储 C 压缩存储 D 索引存储27、采用折半搜索方式搜索一个长度为n 的有序顺序表时,其平均搜索长度为()。
A O(n)B O(log2n)C O(n 2)D O(nlog2n)28、 n 个结点的线索二叉树中,线索的数目是()。
A n-1B n+1C 2nD 2n-129、若数据元素序列{11,12,13,7,8,9,23,4,5}是采用下列排序方法之一得到的第二趟排序后的结果,则该排序方法只能是()。
A插入排序B选择排序C交换排序D归并排序30、为了增加内存空间的利用率和减少溢出的可能,在两个栈共享一片连续的存储空间时,应将两个栈的栈顶分别设在这片存储空间的两端,当()时才产生上溢。
A两个栈的栈顶同时到达栈空间的中心点B其中一个栈的栈顶到达栈空间的中心点C两个栈的栈顶在栈空间的某一位置相遇D两个栈的栈顶相加超过了栈空间的最大容量31、设一棵二叉树的中序序列为badce,后序遍历为bdeca ,则该二叉树前序遍历的顺序是()。
A adbecB decabC debacD abcde32、图的简单路径是指()不重复的路径。
A权值B顶点C边D边与顶点均不重复33、用 n 个权值构造出来的Huffman 树共有()个结点。
A 2n-1B 2nC 2n+1D n+134、在如图( 2)所示的 AVL树中插入关键码48,得到了一棵新的AVL 树,在这棵新的AVL树中,关键码37 所在结点的左右子女结点中保存的关键码分别是()。
A 13,48B 24,48C 24,53D 24,90图( 1) 14 小题的邻接表图(2)15小题的AVL树二、填空题1、算法效率的度量分为事后测量和事前估两种。
2、算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。
它应当具有输入、输出、确定性、有穷性可行性等特性。
3、一个抽象数据类型ADT包括数据操作和对象两个部分。
4、队列的插入操作是在队尾进行,删除操作是在队头进行。
5、栈又称为先进后出的线性表,队列又称为先进先出线性表。
6、对称矩阵的行数和列数相等且以主对角线为对称轴,因此只要存储它的上三角部分或者下三角部分即可。
7、利用三元组表存放稀疏矩阵中的非零元素,则在三元组表中每个三元组中应记录相应非零元的行号、列号和非零元素的值。
8、广义表A((a,b,c),(d,e,f))的表头是(a,b,c)。
9、广义表A((a,b,c),(d,e,f))的表尾是((d,e,f))。
10、在一棵有n 个结点的二叉树中,若度为2的结点数为n2,度为 1 的结点数为n1,度为0 的结点数为n0,则树的最小高度为log2 n1,其叶节点数为n2+1。
11、在一棵有n 个结点的二叉树中,若度为2的结点数为n2,度为 1 的结点数为n1,度为0 的结点数为n0,则树的最大高度为n,其叶节点数为1。
12、已知有序顺序表(13,18,24,35,47,50,62,83,90,115,134),当用折半搜索法搜索值18的元素时,搜索成功的数据比较次数为4。
13、采用顺序搜索方式搜索长度为n 的线性表时,平均搜索长度为(n+1)/2。
14、对于一个具有n 个顶点和 e 条边的无向图进行遍历,若采用邻接矩阵表示,则时间复杂度为O(n2),若采用邻接表表示,则时间复杂度为O(n+e)。
15、对于一个具有n 个顶点和 e 条边的无向图,若采用邻接矩阵表示,则该矩阵大小是n2,矩阵中的非零元个数为2e。
16、每次从无序表中挑选一个最小或者最大元素,把它交换到有序表的一端,此种排序方法叫做交换排序。
17、对 n 个元素的序列进行排序时,如果待排序元素序列的初始排列完全逆序,则起泡排序过程中需要进行n(n-1)/2次元素值的比较,n(n-1)/2次元素值的交换。
18、每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做插入插入排序。
19、对 n 个元素的序列进行排序时,如果待排序元素序列的初始排列已经全部有序,则起泡排序过程中需要进行n-1次元素值的比较,0次元素值的交换。
三、判断题1、数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按照使用需要建立的。
错2、数据结构是指相互之间存在一种或多种关系的数据元素的全体。
对3、根据队列的先进先出的特性,最后进队列的元素最后出队列。
对4、在顺序栈中元素是按照其值的大小有序存放的。
错5、栈底元素是不能删除的。
错6、在队列中,n 个元素的进队列顺序和出队列顺序总是一致的。
对7、数组是一种复杂的数据结构,数组元素之间的关系既不是线性的,也不是树形的。
错8、广义表是线性表的推广,但它不是一种线性结构。
对9、二维数组可以视为数组元素为一维数组的一维数组。
因此,二维数组是线性结构。
错10、有 n 个整数存放在一维数组A[n] 中,在进行顺序搜索时,无论这n 个整数的排列是否有序,其平均搜索长度都相同。
错11、邻接矩阵适用于稠密图(边数接近于顶点数的平方),邻接表适用于稀疏图(边数远小于顶点数的平方)。
对12、对 n 个顶点的连通图G来说,如果其中的某个子图有n 个顶点, n-1 条边,则该子图一定是 G的生成树。
错13、希尔排序、简单选择排序都是不稳定的排序方法。
错14、如果一个二叉树的结点,或者两棵子树都空,或者两棵子树都非空,则此二叉树称为完全二叉树。
错15、在二叉搜索树中,任一结点所具有的关键码值都大于它的左子女(如果存在)的关键码值,同时小于其右子女(如果存在)的关键码值。
对16、具有 n 个顶点的无向图最多有n(n-1) 条边,最少有n-1 条边。
错17、最小生成树是指边数最少的生成树。
错四、简答与计算题1、什么是数据结构?有关数据结构的讨论涉及哪三个方面?2、什么是算法,算法的 5 个特性是什么?3、已知如图(3)所示的有向图,请利用Kruskal算法求出最小生成树。