大数据数据结构和算法_图_最小生成树
数据结构章节练习题 - 答案第7章 图
7.1选择题1.对于一个具有n个顶点和e条边的有向图,在用邻接表表示图时,拓扑排序算法时间复杂度为()A)O(n)B)O(n+e)C)O(n*n)D)O(n*n*n)【答案】B2.设无向图的顶点个数为n,则该图最多有()条边。
A)n-1B)n(n-1)/2C)n(n+1)/2【答案】B3.连通分量指的是()A)无向图中的极小连通子图B)无向图中的极大连通子图C)有向图中的极小连通子图D)有向图中的极大连通子图【答案】B4.n个结点的完全有向图含有边的数目()A)n*n B)n(n+1)C)n/2【答案】D5.关键路径是()A)AOE网中从源点到汇点的最长路径B)AOE网中从源点到汇点的最短路径C)AOV网中从源点到汇点的最长路径D)n2D)n*(n-1)D)AOV网中从源点到汇点的最短路径【答案】A6.有向图中一个顶点的度是该顶点的()A)入度B)出度C)入度与出度之和D)(入度+出度)/2【答案】C7.有e条边的无向图,若用邻接表存储,表中有()边结点。
A)e B)2eC)e-1D)2(e-1)【答案】B8.实现图的广度优先搜索算法需使用的辅助数据结构为()A)栈B)队列C)二叉树D)树【答案】B9.实现图的非递归深度优先搜索算法需使用的辅助数据结构为()A)栈B)队列C)二叉树D)树【答案】A10.存储无向图的邻接矩阵一定是一个()A)上三角矩阵B)稀疏矩阵C)对称矩阵D)对角矩阵【答案】C11.在一个有向图中所有顶点的入度之和等于出度之和的()倍A)B)1C)2D)4【答案】B12.在图采用邻接表存储时,求最小生成树的Prim 算法的时间复杂度为(A)O(n)B)O(n+e)C)O(n2)D)O(n3))【答案】B13.下列关于AOE网的叙述中,不正确的是()A)关键活动不按期完成就会影响整个工程的完成时间B)任何一个关键活动提前完成,那么整个工程将会提前完成C)所有的关键活动提前完成,那么整个工程将会提前完成D)某些关键活动提前完成,那么整个工程将会提前完成【答案】B14.具有10个顶点的无向图至少有多少条边才能保证连通()A)9B)10C)11D)12【答案】A15.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()A)e B)2eC)n2-e D)n2-2e【答案】D7.2填空题1.无向图中所有顶点的度数之和等于所有边数的_____________倍。
数据结构测验答案
数据结构第二单元测验答案一、选择题1.由 3个结点可以构造出多少种不同的有向树( )A.2B.3C.4D.52.由 3个结点可以构造出多少种不同的二叉树( )A.2B.3C.4D.53.二叉树的第 I 层上最多含有结点数为 ( )A.2 IB.2I-1 -1C.2 I-1D.2I -14.一棵二叉树高度为 h, 所有结点的度或为 0,或为 2,则这棵二叉树最少有 ( ) 结点A.2hB.2h-1C.2h+1D.h+1除第一层外 , 每层最少 2 个结点5.一棵树高为 K 的完全二叉树至少有 ( ) 个结点A.2 k– 1B.2k-1 –1 C . 2k-1 D.2k6.深度为 6 的二叉树最多有 () 个结点A. 64 B. 63 C.32 D.317.设树 T 的度为 4,其中度为1,2,3 和 4 的结点个数分别为4,2,1,1 则 T 中的叶子数为( )A.5B.6C.7 D . 88.若一棵二叉树具有10 个度为 2 的结点, 5 个度为 1 的结点,则度为 0 的结点个数是 ( )A.9B. 11C.15D.不确定9.一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是( )A.250B.500C.254D.505 E .以上答案都不对10.对于有 n 个结点的二叉树 , 其高度为 ( )A.nlog2nB.log2nC.log 2n |+1D. 不确定11. 将含有 83 个结点的完全二叉树从根结点开始编号,根为序结点编号,那么编号为41 的双亲结点编号为()1 号,按从上到下. 从左到右顺A.42B.40C.21D. 2012.一个二叉树按顺序方式存储在一个维数组中,如图0 A 1 2B3C45D6 78 9 10E F11 12 13 14G H I J则结点 E 在二叉树的第()层。
A. 1B. 2C. 3D.413. 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树A.空或只有一个结点B. 高度等于其结点数C. 任一结点无左孩子D.任一结点无右孩子14.任何一棵二叉树的叶结点在其先根. 中根 . 后根遍历序列中的相对位置 ( )A. 肯定发生变化B.有时发生变化C. 肯定不发生变化D.无法确定15. 二叉树线索化后,仍不能有效求解的问题是()A.先序线索二叉树中求先序后继B.中序线索二叉树中求中序后继C.中序线索二叉树中求中序前驱D. 后序线索二叉树中求后续后继一共有两种情况 : 一个是先序线索中求先序前驱和后序线索求后序后继16. 如果 T 2 是由有序树 T 转化而来的二叉树,那么T 中结点的前序就是T 2 中结点的 ( )A. 前序B. 中序C. 后序D.层次序17. 设森林 T 中有 4棵树,第一 . 二 . 三. 四棵树的结点个数分别是n1,n2,n3,n4, 那么当把森林 T 转换成一棵二叉树后,且根结点的右子树上有 ( ) 个结点。
数据结构复习与习题解析(2)
按路径长度递增次序产生最短路径
1、把 V 分成两组: (1) S:已求出最短路径的顶点的集合。 (2) V - S = T:尚未确定最短路径的顶点集合。
2、将 T 中顶点按最短路径递增的次序加入到 S 中,保证: (1) 从源点 v0 到 S 中各顶点的最短路径长度都不大于 从 v0 到 T 中任何顶点的最短路径长度。 (2) 每个顶点对应一个距离值: S中顶点:从 v0 到此顶点的最短路径长度。 T中顶点:从 v0 到此顶点的只包括 S 中顶点作中间顶点的 最短路径长度。
例题解析
例已知某网的邻接(出边)表,请画出该网络。
当邻接表的存储 结构形成后,图 便唯一确定!
图的遍历
❖广度优先搜索
从图的某一结点出发,首先依次访问该结点的所有邻接顶点 V1, V2, …, Vn 再按这些顶点被访问的先后次序依次访问与它们 相邻接的所有未被访问的顶点,重复此过程,直至所有顶点均 被访问为止。
7 10 3
a10 16 16 0 ✓
a11 14 14 0 ✓
v2
v7
v5
v9
v3
v8
v4 a6=2 v6
顶点 ve vl
v1
00
v2
66
v3
46
v4
58
v5
77
v6
7 10
v7 16 16
v8 14 14
v9 18 18
有向图的应用 应用
无向图的应用
Dijkstra算法 最短路径 Floyd算法
条件:边数不等于 n-1时 边 动作 连通分量 (0,2) 添加 {0,2},{1},{3},{4},{5} (3,5) 添加 {0,2},{3, 5},{1},{4} (1,4) 添加 {0,2},{3, 5},{1,4} (2,5) 添加 {0,2,3,5},{1,4} (0,3) 放弃 因构成回路 (2,3) 放弃 因构成回路 (1,2) 添加 {0,2,3,5,1,4}
华师网络学院作业答案-数据结构判断题
消除递归不一定需要使用栈。
答案:正确在开散列表中不会出现堆积现象。
答案:正确在链栈上进行进栈操作时,不需判断栈满。
答案:正确算法的正确性,一般不进行形式化的证明,而是用测试来验证。
答案:正确顺序表不需存放指针,链表要存放指针,故链表的存储空间要求总是比顺序表大。
答案:错误如果n个顶点的无向图有n条边,则图中肯定有回路。
答案:正确图G的生成树T是G的子图。
答案:正确数组的基本运算有读、写、插入、删除等。
答案:错误不管树的深度和形态如何,也不可能构造出一棵有100个结点的哈夫曼树。
答案:正确如果根结点的左子树和右子树高度差不超过1,则该二叉树是平衡二叉树。
答案:错误排序的目的是为了方便以后的查找。
答案:正确以中序方式遍历一个堆,则得到一个有序序列。
答案:正确二叉树中可能所有结点的度都小于2。
答案:正确顺序表可以按序号随机存取。
答案:正确在二叉排序树中,即使删除一个结点后马上再插入该结点,该二叉排序树的形态也可能不同。
答案:正确队列在使用中必须设置两个指针,分别指向真正的队头和队尾的位置。
答案:错误数据的逻辑结构和运算集组成问题的数学模型,与计算机无关。
对称矩阵压缩存储后仍然可以随机存取。
答案:正确有向图中顶点i的出度等于邻接矩阵中第i行中1的个数;入度等于第i列中1的个数。
答案:错误树和森林都可转化为二叉树,故对给定的二叉树,不能区分是由树还是森林转换来的。
答案:错误循环队列中入队和出队的节点位置可出现在数组的任一端,已不满足“一端进另一端出”的要求,故实际上已不是队列了。
答案:错误顺序查找法不仅可用于顺序表上的查找,也可用于链表上的查找。
答案:正确有向图中边数等于邻接矩阵中1的个数;也等于邻接表中的边表结点数。
答案:正确直接插入排序是稳定的,而Shell排序就是调用若干趟直接插入排序,故也是稳定的。
答案:错误基数排序不需进行关键字间的比较,故执行时间比基于比较的排序方法要快。
答案:错误由二叉树的先根和后根序列可以唯一确定该二叉树。
《数据结构与算法》教案
《数据结构与算法》教案
数据结构与算法教案
一、教学目标
本课程旨在让学生掌握数据结构和算法设计的基本原理和方法,掌握数据结构和算法的基本概念和基本操作,具备较强的分析和解
决实际问题的能力。
同时,学生应该掌握常见数据结构和算法,如栈、队列、树、图、排序、查找等。
二、教学内容
1. 数据结构基础知识
- 数据结构的定义和分类
- 算法的基础概念
- 算法的复杂度分析
2. 线性结构
- 数组
- 链表
- 栈与队列
3. 树结构
- 二叉树和二叉搜索树
- 堆和优先队列
- 平衡树
4. 图结构
- 基本概念和图的表示方法
- 图的遍历
- 最短路径和最小生成树
5. 排序和查找
- 内部排序和外部排序
- 快速排序、归并排序、选择排序、插入排序和希尔排序- 二分查找、哈希表查找和树形查找
三、教学方法
1. 理论知识讲授配合实例演示
2. 小组讨论和作业设计
3. 实践 or 上机操作
四、评估方法
1. 考试:学生掌握数据结构和算法知识的理论能力
2. 作业:学生较强的实际分析和解决问题的能力
3. 上机实验:实践能力
五、教材
主教材:《数据结构与算法分析》
辅导教材:《算法设计与分析基础》、《数据结构(C++语言版)》。
浙江大学大数据结构与算法课程自我测试问题详解
窗体顶端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的结点加到表中,用二次探测法解决冲突,则放入的位置是____________。
数据结构与算法模拟习题(附参考答案)
数据结构与算法模拟习题(附参考答案)一、单选题(共86题,每题1分,共86分)1.具有5个顶点的有向完全图有多少条弧?A、16B、20C、25D、10正确答案:B2.下列程序的时间复杂度为()。
i = 0; s = 0;while(s < n){i++;s = s + i;}A、Θ(n)B、Θ(1)C、Θ(n2)D、Θ(n½)正确答案:D3.栈和队列的共同点是()。
A、没有共同点B、只允许在端点处插入和删除元素C、都是先进后出D、都是先进先出正确答案:B4.下面描述中正确的为( )。
A、线性表的逻辑顺序与物理顺序总是一致的B、线性表的顺序存储表示优于链式存储表示。
C、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
D、二维数组是其数组元素为线性表的线性表。
正确答案:C5.对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多?A、从大到小排好的B、元素无序C、元素基本有序D、从小到大排好的正确答案:D6.表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为(),其中^为乘幂。
A、3, 2, 8;( * ^ -B、3, 2, 4, 2, 2;( * ^ ( -C、3, 2, 4, 1, 1;( ^ ( + -D、3, 2, 8;( * ^ ( -正确答案:D7.二叉树的高度若根节点为高度1,一棵具有 1025 个结点的二叉树的高度为▁▁▁▁▁ 。
A、10~1024 之间B、11~1025 之间C、10D、11正确答案:B8.数据采用链式存储结构时,要求( )A、每个节点占用一片连续的存储区域B、所有节点占用一片连续的存储区域C、节点的最后一个数据域一定是指针类型D、每个节点有多少个后继就设多少个指针域正确答案:A9.在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是:A、将N个结点从小到大排序B、删除第i个结点(1≤i≤N)C、访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)D、在第i个结点后插入一个新结点(1≤i≤N)正确答案:C10.将元素序列{18, 23, 4, 26, 31, 33, 17, 39}按顺序插入一个初始为空的、大小为13的散列表中。
数据结构试卷
考试答案不得超过此线一、选择题(每小题2分,共20分)1、与线性表的顺序存储不相符的特性是()。
A.不便于插入和删除B.必须连续的存储空间C.需另外开辟空间保存元素间的关系D.存储容量固定2、下列时间复杂度最好的是( )。
A、O)(log2n B、O)(2nC、O)(n D、O)log(2nn3、在链表中最常用的操作是删除表中最后一个结点和在最后一个结点之后插入元素,则采用()最节省时间。
A、带头指针的单向循环链表B、带头指针的双向循环链表C、带尾指针的单向循环链表D、双向链表4、设一个栈的输入序列为1、2、3、4,则借助一个栈所得到的输出序列不可能的是()A、1,2,3,4B、4,3,2,1C、1,3,4,2D、4,1,2,35、一棵左右子树均不空的二叉树在中序线索化后,空的指针域的个数是( )。
A、0B、1C、2D、不确定6、10个顶点的连通图的深度优先生成树的边数为()。
A、11B、10C、9D、无法确定7、12个结点的平衡二叉树的最大深度为( )。
A、4B、5C、6D、78、设有一个长度为100的已排好序的表,用二分查找进行查找,若查找不成功,至少比较()次。
A、9B、8C、7D、69、一组记录的键值为(46,74,18,53,14,20,40,38,86,65),利用堆排序的方法建立的初始堆为()A、(14,18,38,46,65,40,20,53,86,74)B、(14,38,18,46,65,20,40,53,86,74)C、(14,18,20,38,40,46,53,65,74,86)考试答案不得超过此线D、(14,86,20,38,40,46,53,65,74,18)10、快速排序方法在()情况下最不利于发挥其长处。
A、要排序的数据太大B、要排序的数据中含有多个相同值C、要排序的数据已基本有序D、要排序的数据个数为奇数二、填空题(每小题2分,共16分)1、下面程序段中带下划线的语句的执行次数是for(i=0;i<=n;i++)for(j=0;j<=i;j++)x=x+1;2、若串S=‘software’,其非空子串的数目是3、设数组A[1..5,1..6] 的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续内存单元中,则A[5,5]的地址是。
算法与数据结构题库与答案
一、单项选择题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.一个递归算法必须包括 __________ 。
数据结构考试题
一、填空题:(1分*10=10分)1)线性结构中元素之间存在1对1关系,树形结构中元素之间存在1对多,图形结构中元素之间存在多对多关系。
2)顺序表中,逻辑上相邻的元素物理位置一定相邻;单链表中逻辑上相邻的元素位置不一定相邻。
3)线性表、栈和队列都是线性结构。
对于栈只能在栈顶位置插入和删除元素;对于队列只能在队尾位置插入和在对头位置删除元素。
4)由三个结点构成的二叉树,共有_____5____种不同的结构。
5)具有10个顶点的无向图,边的总数最多为10 。
6)评价算法的优劣通常主要考虑算法的时间复杂度和空间复杂度这两方面。
7)链式存储的特点是利用指针来表示数据元素之间的逻辑关系。
8)线性表常见的存储结构有顺序存储结构和链式存储结构。
9)栈的特点是后进先出,队列的特点是先进先出。
10)对于二叉树来说,第i层上最多有___2i-1__个节点。
11)哈夫曼树是指___代权路径长度最短______的二叉树。
12)构造n个结点的强连通图,至少有n 条弧。
13)常见的数据结构有集合结构、线性结构、树形结构、图形结构。
14)计算机程序中加工处理的基本单位是数据元素,数据中不可再分割最小单位是数据项。
15)链式存储的特点是利用指针来表示数据元素之间的逻辑关系。
16)栈的特点是后进先出,队列的特点是先进先出。
17)一棵深度为k的满二叉树的结点总数为____2k-1_____。
18)在有n个顶点的有向图中,每个顶点的度最大可达2(n-1)。
19)线性结构中元素之间存在1对1关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
20)计算机程序中加工处理的基本单位是数据元素,数据中不可再分割最小单位是数据项。
21)线性表常见的存储结构有顺序存储结构和链式存储结构。
22)栈的特点是后进先出,队列的特点是先进先出。
23)在一颗二叉树中,度为零的结点的个数为n0,度为2的结点的个数为n2,则有n0= n2+1 。
