浙师大数据结构题目整理
- 格式:doc
- 大小:44.50 KB
- 文档页数:3
数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。
2. 解释二叉搜索树的基本概念及其优势。
3. 什么是递归?请给出一个简单的递归算法例子。
三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。
2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。
四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。
如果数组为空,返回0。
答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。
- 数组的索引访问速度快,链表需要遍历。
- 数组的大小固定,链表动态可变。
2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。
- 优势:支持快速的查找、插入和删除操作。
3. 递归是函数自己调用自己的过程。
例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。
第一章概论一、选择题1、研究数据结构就是研究(D )。
A. 数据的逻辑结构B。
数据的存储结构C. 数据的逻辑结构和存储结构D。
数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A。
空间复杂度和时间复杂度 B. 正确性和简单性C。
可读性和文档性D。
数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A。
图B。
树C。
广义表D。
栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B。
可执行性、有穷性和确定性C。
确定性、有穷性和稳定性 D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
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)6、算法是(D )。
A。
计算机程序 B. 解决问题的计算方法C。
排序算法 D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A。
O(n) B. O(nlog2n) C。
O(n2) D. O (log2n)8、下面程序段的时间复杂度为( C ).i=1;while(i<=n)i=i*3;A. O(n)B。
O(3n) C。
O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B。
关系C。
运算D。
算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n) B。
O(n2)C。
O(log2n)D。
O(n3)11、抽象数据类型的三个组成部分分别为(A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
《数据结构》期末考试试卷试题及答案第一部分:选择题(每题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. 编写一个函数,实现链表的插入操作。
窗体顶端1. 邻接表是图的一种____。
正确答案点评A 顺序存储结构B 链式存储结构C 索引存储结构D 散列存储结构正确答案:B答案讲解:无【试题出处】第6章第3节1窗体底端窗体顶端2. 一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准元素得到的一次划分结果为。
正确答案点评A 38,40,46,56,79,84B 40,38,46,79,56,84C 40,38,46,56,79,84D 40,38,46,84,56,79正确答案:C窗体底端窗体顶端3. 设深度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至多为_____(注意C和D中h是指数)。
正确答案点评A 2h-1B 2(h-1)C 2*h-1D 2*h正确答案:A窗体底端窗体顶端4. 一个栈的入栈序列是a,b,c,d, 则下列序列中不可能的输出序列是_______。
正确答案点评A acbdB dcbaC acdbD dbac正确答案:D窗体底端窗体顶端5. 计算机算法是指______。
正确答案点评A 计算方法B 排序方法C 调度方法D 解决问题的有限运算序列正确答案:D窗体底端窗体顶端6. 关于二叉树的三种遍历,下列说法正确的是____。
正确答案点评A 任意两种遍历序列都不可以唯一决定该二叉树B 任意两种遍历序列都可以唯一决定该二叉树C 先序遍历序列和后序遍历序列可以唯一决定该二叉树D 先序遍历序列和中序遍历序列可以唯一决定该二叉树正确答案:D窗体底端窗体顶端7. 顺序表的特点是______。
正确答案点评A 逻辑上相邻的结点其物理位置不相邻B 逻辑上相邻的结点其物理位置亦相邻C 顺序表不是随机存储结构D 在顺序表中插入和删除操作比在链表上方便正确答案:B窗体底端窗体顶端8. 设散列表长为14,散列函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测法解决冲突,则放入的位置是____________。
数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。
以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。
数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。
链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。
数据结构试题一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
数据结构题库及答案详解一、选择题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. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构复习题(精⼼整理).docx数据结构复习题(打星号内容可以不考虑)习题1 绪论1.1单项选择题1. 数据结构是⼀门研究⾮数值计算的课程,它研究程序设计问题中数据元素的①、数据信息在计算机中的②以及⼀组相关的运算等的课程。
① A.操作对象 B ?计算⽅法 C.逻辑结构 D.数据映象② A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS= (D, R),其中D 是①的有限集合,R 是D 上的②有限集合。
① A.算法B.数据元素C.数据操作D.数据对象② A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。
A. 动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4. 算法分析的⽬的是①,算法分析的两个主要⽅⽽是②。
5. 计算机算法指的是①,它必具备输⼊、输出和②等五个特性。
①A.计算⽅法C. 解决问题的有限运算序列②A.可⾏性、可移植性和可扩充性 C. 确定性、有穷性和稳定性1.2填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。
2. 在线性结构⼬,第⼀个结点前驱结点,其余每个结点有且只有个前驱结点;最后⼀个结点后续结点,其余每个结点有且只有个后续结点。
3. 在树形结构中,树根结点没冇结点,其余每个结点冇仇只冇个直接前驱结点,叶⼦结点没有结点,其余每个结点的直接后续结点可以。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。
5. 线性结构中元素Z 间存在关系,树形结构中元素之间存在关系,图形结构中元素Z① A.找出数据结构的合理性C.分析算法的效率以求改进② A.空间复杂性和时间复杂性C.可读性和⽂档性B. 研究算法⼬的输⼊和输出的关系D.分析算法的易懂性和⽂档性B. 」E 确性和简明性 B.排序⽅法D.调度⽅法B.可⾏性、确定性和有穷性 D.易读性、稳定性和安全性间存在关系。
浙大计算机面试题及答案一、数据结构与算法1. 请解释什么是数据结构,并列举几种常见的数据结构。
数据结构是计算机中对数据的组织、存储和管理的方式。
常见的数据结构包括数组、链表、堆栈、队列、树、图等。
2. 请解释什么是算法,并列举几种常见的算法。
算法是解决问题的一系列步骤或指令。
常见的算法包括排序算法(如冒泡排序、快速排序)、查找算法(如二分查找)、图算法(如最短路径算法)等。
3. 请解释什么是时间复杂度和空间复杂度。
时间复杂度是衡量算法执行时间随输入规模增长而增长的速度。
常用的时间复杂度有O(1)(常数时间复杂度)、O(log n)(对数时间复杂度)、O(n)(线性时间复杂度)、O(n^2)(平方时间复杂度)等。
空间复杂度是衡量算法执行所需内存空间随输入规模增长而增长的速度。
常用的空间复杂度有O(1)(常数空间复杂度)、O(n)(线性空间复杂度)等。
4. 请解释什么是动态规划算法,并给出一个实际的应用场景。
动态规划是将复杂问题分解为子问题,并记录子问题的解,避免重复计算,从而提高算法效率的一种算法思想。
一个实际的应用场景是求解最长公共子序列问题,即找出两个序列中最长的公共子序列。
5. 请解释什么是贪心算法,并给出一个实际的应用场景。
贪心算法是一种每步选择当前最优解的算法思想。
一个实际的应用场景是求解零钱找零问题,即用最少数量的硬币找零。
二、操作系统与网络1. 请解释什么是操作系统,并列举几种常见的操作系统。
操作系统是计算机系统的核心软件,负责管理计算机硬件资源、提供用户接口和运行应用程序等。
常见的操作系统有Windows、Linux、Unix、macOS等。
2. 请解释什么是进程和线程,并解释二者的区别。
进程是程序在操作系统中的一次执行过程,具有独立的地址空间和资源。
线程是进程的一个执行单元,多个线程共享进程的资源。
区别在于进程是独立的执行单位,而线程是进程内的执行单位。
3. 请解释什么是虚拟内存,并解释其作用。
数据结构试题及答案(10套最新)数据结构试题及答案(10套最新)第一套试题:问题一:什么是数据结构?数据结构的作用是什么?回答:数据结构是一种组织和存储数据的方式,它关注数据元素之间的关系以及对数据元素的操作。
数据结构的作用包括提供高效的数据存储和访问方式,减少资源消耗,简化问题的解决方法,提高算法的性能和程序的可读性。
问题二:请列举几种常见的线性数据结构,并简要介绍它们的特点。
回答:常见的线性数据结构包括数组、链表和栈。
数组是一种连续存储数据元素的结构,具有随机访问的特点;链表是一种通过指针相连的数据元素,可以灵活地插入和删除元素;栈是一种遵循先进后出原则的数据结构,常用于解决递归问题。
问题三:请说明二叉树的定义及其性质。
回答:二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点。
二叉树具有以下性质:每个节点最多有两个子节点,分别称为左子节点和右子节点;左子树和右子树都是二叉树;二叉树的节点个数为n,边的个数为n-1。
问题四:在数组中查找一个元素的时间复杂度是多少?为什么?回答:在数组中查找一个元素的时间复杂度是O(n),其中n是数组的长度。
因为在数组中查找元素需要按照索引一个一个比较,最坏情况下需要比较n次才能找到目标元素。
问题五:请解释堆排序算法的原理及时间复杂度。
回答:堆排序算法利用堆这种数据结构进行排序。
首先将待排序的元素构建成一个大顶堆,然后将堆顶元素与最后一个元素交换,继续调整堆,再取出堆顶元素与倒数第二个元素交换,依次执行,最后得到从小到大排序的序列。
堆排序的时间复杂度为O(nlogn)。
第二套试题:问题一:请解释图的邻接矩阵和邻接表表示法。
回答:图的邻接矩阵表示法是使用二维数组来表示图的连接关系,数组中的元素表示相应节点之间的边的关系。
邻接表表示法使用链表来表示图的连接关系,链表中的元素表示相邻节点之间的边的关系。
问题二:请说明深度优先搜索算法的原理及其应用。
回答:深度优先搜索(DFS)算法是一种遍历或搜索图的算法,其原理是从起始节点开始,依次深入到尽可能远的节点,直到无法继续深入为止,然后回溯到上一个节点,再继续深入其他未访问过的节点。
1、 已知一组记录的排序码为(46,79,56,38,40,80, 95,24),写出对其进行快
速排序的每一次划分结果。
2、一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT[0..12],散列函数为H (key )= key % 13并用线性探查法解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。
查找成功的平均查找长度:ASL SUCC =14/10= 1.4
二、填空题(每空1分,共32分)
1、 数据的逻辑结构被分为__________、 ___________ 、________和________四种。
2、 一种抽象数据类型包括______________和_____________两个部分。
3、 在下面的数组a 中链接存储着一个线性表,表头指针为a[o].next ,则该线性表为
_________________________________________________。
a 0 1 2 3 4 5 6 7 8 data next
4、 在以HL 为表头指针的带表头附加结点的单链表和循环单链表中,判断链表为空的
条件分别为________________和____________________。
5、 用具有n 个元素的一维数组存储一个循环队列,则其队首指针总是指向队首元素的
___________,该循环队列的最大长度为__________。
6、 当堆栈采用顺序存储结构时,栈顶元素的值可用———————表示;当堆栈采用
链接存储结构时,栈顶元素的值可用_______________表示。
7、 一棵高度为5的二叉树中最少含有_________个结点,最多含有________个结点; 一棵高度为5的理想平衡树中,最少含有_________个结点,最多含有_________个结点。
8、 在图的邻接表中,每个结点被称为____________,通常它包含三个域:一是
_____________;二是___________;三是_____________。
9、 在一个索引文件的索引表中,每个索引项包含对应记录的_________和___________
两项数据。
0 1 2 3 4 5 6 7 8 9 10 11 12
10、假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J))),则树中
所含的结点数为_________个,树的深度为_________,树的度为________, 结点H的
双亲结点为________,孩子结点为_______________ 。
11、在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为_________,
整个堆排序过程的时间复杂度为________________。
12、在对m阶的B_树插入元素的过程中,每向一个结点插入一个索引项(叶子结
点中的索引项为关键字和空指针)后,若该结点的索引项数等于______个,则必须
把它分裂为_______个结点。
1:集合、线性、树、图;
2:数据描述、操作声名;
3:(38,56,25,60,42,74);
4:HL→next =NULL;HL=HL→next;
5:前一个位置;n-1;
6:S.stack [S.top]; HS→data;
7:5 31
8:边结点、邻接点域、权域、链域;
9:索引值域、开始位置域;
10:10、3、3、B、I和J;
11:O(log2n)、O(nlog2n);
12:m 、m - 1
二、填空题(每空1分,共32分)
1.数据的存储结构被分为________________、______________、________________和
______________四种。
2.对于一个顺序存储的线性表,在表头插入元素的时间复杂度为____________,在表尾插入
元素的时间复杂度为________________。
3.在稀疏距阵所对应的三元组线形表中,每个三元组元素按____________为主序,
__________为辅序的次序排列。
4.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为
________________域和______________域。
5.中缀表达示3+X*(2.4/5-6)所对应的后缀表达示为______________。
6.在一棵高度为h的3叉树中,最多含有_______结点。
7.假定一棵二叉树的结点数为18,则它的最小深度为________,最大深度为_______。
8.在一棵二叉搜索树中,每个分支结点的左子树上所有的结点的值一定___________该结
点的值,右子树上所有结点的值一定__________该结点的值。
9.当向一个小根堆插入一个具有最一小值的元素时,该元素需要逐层_______调整,直到
被调整到_______位置为止。
10.表示图的三种存储结构为_________________、________________和________________。
11.对用邻接距阵表示的具有n个顶点和e条边的图形进行任一种遍历时,其时间复杂度为
__________,对用邻接表表示的图进行任一种遍历时,其时间复杂度为______________。
12.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查
找长度分别为___________和__________。
13.假定对长度n=144的线性表进行索引查找,并假定每个子表的长度均为n,则进行索引
查找的平均查找长度为__________,时间复杂度为___________。
14.一棵B-树中的所有叶子结点均处在_____________上。
15.每次从无序表中顺序取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫
做_______排序;每次从无序表中挑选出一个最大或最小元素,把它交换到有序表中的一端,此种排序方法叫做_________排序。
16.快速排序在平均情况下的时间复杂度为___________,在最坏情况下的时间复杂度为
__________。
1. 顺序结构链接结构索引结构散列结构(次序无先后)
2 .O(n) O(1)
3. 行号列号
4. 值(或data)子表指针(或sublist)
5. 3 x 2.4 5 /6 -*+
6. (3 h-1)/2
7. 5 18
8. 小于大于
9. 向上堆顶
10. 邻接距阵邻接表边集数组(无次序先后)
11. O(n2) O(e)
12. 1 3
13. 13 O(n)
14. 同一层
15. 插入选择
16. O(nlog2n) O(n2)。