强连通分量是无向图的极大强连通子图

强连通分量是无向图的极大强连通子图

进行描述

强连通分量是指连接图中任意两个顶点之间均存在有向路径的最大连通子图,也就是说只要我们从图中的任何顶点出发,都无论是正方向还是逆方向,都可以到达图中的任何其余的顶点。它是一种比较有代表性的子图模式,主要具有以下4个特点:

1.强连通分量是一个强连通的极大子图,它体现着图的最强的连通性;

2. 强连通分量的子图之间不再相互连接;

3. 强连通分量子图与子图之间均不相互连接;

4. 强连通分量子图中所有顶点均相互连接。

强连通分量最主要的应用就是拓扑排序,它是图论中一种重要的算法,主要用于完成有向图的拓扑排序。在完成拓扑排序之前我们可以先找出图中的强连通分量,有了强连通分量的信息之后就可以处理的更加细致,从而节省大量时间。因此,在实际应用中,我们要深入思考如何更好的利用强连通分量,对之后的处理来说是一种重要的算法工具。

数据结构考试试题及答案

数据结构 一、单选题 1. 计算机算法指的是(b )。 A.程序B.问题求解步骤的描述C.调度方法D.排序方法 2. 以下数据结构中,(a )个是非线性数据结构。 A.树B.字符串C.队D.栈 3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。 A.p->next=s;s->next=p->next B.s->next=p->next; p->next=s C.p->next=s;p->next=s->next D.p->next=s->next; p->next=s 5. n个顶点的有向图中,含有向边的数目最多为( d ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d ) A.rear=rear+1 B.rear=(rear+1)mod(m-1) C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1) 7. 字符串?ababaabab?的next函数为(d ) A.011232232 B.012341234 C.011122334 D. 011234234 8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定 9. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当以列为主序存放时,元素A[5,8]的首地址为( b )。A.BA+141 B.BA+180 C.BA+222 D.BA+225 10. n个顶点的带权无向连通图的最小生成树包含(b )个顶点 A.n-1 B.n C.n/2 D.n+1 11.有关二叉树的下列说法正确的是( b ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 12.关键路径是AOE网中( a )。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长回路 D.最短路径(从源点到汇点的所有路径中,经过弧的数目最多的路径) 13.若查找每个记录的概率相等,则在具有n个记录的连续文件中采用顺序查找查找一个记录,其平均查找长度ASL为(c)。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 14.就平均性能而言,目前最好的内部排序方法是(d ) A.冒泡排序B.希尔排序C.堆排序D.快速排序 15.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(d )A.head(tail(LS)) B.tail (head (LS) C.head(tail(head(tail(LS)))) D.head(tail(tail (head (LS)))) 17.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( a ) A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n)

数据结构复习题

图例题 一.选择题 1.一个有向无环图的拓扑排序序列(一定/不一定)是唯一的。 2.一个有n个顶点的无向图最多有()边。 A. n B. n(n-1) C. n(n-1)/2 D.2n 3.一个有n个顶点的无向图要连通全部顶点至少需要()条边。 A. n B. n+1 C. n-1 D.n/2 4.具有5个顶点的无向图至少应有()条边才能确保是一个连通图。 A. 4 B. 5 C. 7 D.8 5.G为非连通无向图,共有20条边,至少应有()个顶点。 A. 6 B. 7 C. 8 D.9 6.已知一个图如下,若从顶点a出发按深度优先搜索法遍历,则可能得到的一种顶点序列为()。 A. a,b,e,c,d,f B. a,e,b,c,f,d C. a,e,b,d,f,c D. a,c,f,e,b,d 若从顶点a出发按广度优先搜索法遍历,则可能得到的一种顶点序列为() A. a,b,c,e,d,f B. a,e,b,c,f,d C. a,b,c,e,f,d D. a,c,f,d,e,b 7.可以判断一个有向图是否有环 的方法是()。 A 深度优先遍历B拓扑排序 C 求关键路径 8.设有向图n个顶点和e条边,进行拓扑排序时,总的计算时间为()。 A)O (nlog2e) B)O (en ) C)O ( elog2n) D)O (n+e) 9.对于含有n个顶点e条边的无向连通图,利用Kruskal算法生成最小代价生成树其时间复杂度为()。 A)O (elog2e) B)O (en ) C)O ( elog2n) D)O (nlog2n) 二.填空题 1. 右图中的强连通分量的个数为( 3)。 2.对于一个具有n个顶点和e条边的 无向图,若采用邻接表表示,则 表头向量的大小为(n ),所有邻接表中的结点总数是( 2e)。 3.已知一个图的邻接矩阵表示,计算第i个结点的入度的方法是(求矩阵第i列非零元素的个数)。 4.已知一个有向图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是( 将矩阵第i行全部置为0)。 5.一个图的生成树的顶点是图的(全部)顶点,生成树的分支是图的(部分)边。 6.有向图的( 极大强连通子图)称为强连通分量。 7.图的邻接矩阵表示法是表示(顶点)之间相邻关系的矩阵。 三.判断题 1. 强连通分量是无向图的极大强连通子图。 × 2.关键活动不按期完成就会影响整个工程的完成时间;√

数据结构 习题 第七章 图

第七章图 一、选择题 1.图中有关路径的定义是()。【北方交通大学 2001 一、24 (2分)】A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是 2.设无向图的顶点个数为n,则该图最多有()条边。 A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E.n2 【清华大学 1998 一、5 (2分)】【西安电子科技大 1998 一、6 (2分)】 【北京航空航天大学 1999 一、7 (2分)】 3.一个n个顶点的连通无向图,其边的个数至少为()。【浙江大学 1999 四、4 (4分)】 A.n-1 B.n C.n+1 D.nlogn; 4.要连通具有n个顶点的有向图,至少需要()条边。【北京航空航天大学 2000 一、6(2分)】 A.n-l B.n C.n+l D.2n 5.n个结点的完全有向图含有边的数目()。【中山大学 1998 二、9 (2分)】A.n*n B.n(n+1) C.n/2 D.n*(n-l) 6.一个有n个结点的图,最少有()个连通分量,最多有()个连通分量。 A.0 B.1 C.n-1 D.n 【北京邮电大学 2000 二、5 (20/8分)】 7.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。【哈尔滨工业大学 2001 二、3 (2分)】 A.1/2 B.2 C.1 D.4 8.用有向无环图描述表达式(A+B)*((A+B)/A),至少需要顶点的数目为( )。【中山大学1999一、14】 A.5 B.6 C.8 D.9 9.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。 A.逆拓扑有序 B.拓扑有序 C.无序的【中科院软件所1998】 10.下面结构中最适于表示稀疏无向图的是(),适于表示稀疏有向图的是()。 A.邻接矩阵 B.逆邻接表 C.邻接多重表 D.十字链表 E.邻接表 【北京工业大学 2001 一、3 (2分)】 11.下列哪一种图的邻接矩阵是对称矩阵?()【北方交通大学 2001 一、11 (2分)】A.有向图 B.无向图 C.AOV网 D.AOE网 12.从邻接阵矩可以看出,该图共有(①)个顶点;如果是有向图该图共有 (②)条弧;如果是无向图,则共有(③)条边。【中科院软件所 1999 六、2(3分)】 ①.A.9 B.3 C.6 D.1 E.以上答案均不正确 ②.A.5 B.4 C.3 D.2 E.以上答案均不正确 ③.A.5 B.4 C.3 D.2 E.以上答案均不正确

数据结构第三单元练习题的参考答案

《数据结构》第3教学单元练习题答案 一、选择题 1.设无向图的顶点个数为n,则该图最多有()条边。 A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.0 2.在一个无向图中,所有顶点的度数之和等于所有边数( B )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( C )倍。 A.1/2 B.2 C.1 D.4 3.若一个具有n个顶点,k条边的无向图是一个森林(n>k),则该森林中必有()棵树。 A.k B.n C. n-k D.(D)1 4.下列哪一种图的邻接矩阵是对称矩阵?() A.有向图 B.无向图 C.AOV网 D.AOE网 5.一个有向图邻接表和逆邻接表中结点的个数( A )。 A.一样多 B.邻接表中结点比逆邻接表中结点多 C.逆邻接表中结点比邻接表结点多 D.不确定 6.在图的邻接表存储结构上执行广度优先搜索遍历类似于二叉树上的() A.先根遍历 B.中根遍历 C.后根遍历 D.按层次遍历 7.下列说法不正确的是()。 A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 B.遍历的基本算法有两种:深度遍历和广度遍历 C.图的深度遍历不适用于有向图 D.图的深度遍历是一个递归过程 8.在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。 A.O(n) B.O(n+e) C.O(n2) D.O(n3) 9.AOV网是一种()。 A.有向图 B.无向图 C.无向无环图 D.有向无环图 10.一个有向无环图的拓扑排序序列()是唯一的。 A.一定 B.不一定 11.有拓扑排序的图一定是()。 A.有环图 B.无向图 C.强连通图 D.有向无环图 12.在用邻接表表示图时,拓扑排序算法时间复杂度为( )。 A.O(n) B.O(n+e) C.O(n*n) D.O(n*n*n) 13.下列关于AOE网的叙述中,不正确的是()。 A.关键活动不按期完成就会影响整个工程的完成时间 B.任何一个关键活动提前完成,那么整个工程将会提前完成 C.所有的关键活动提前完成,那么整个工程将会提前完成 D.某些关键活动提前完成,那么整个工程将会提前完成 14.最短路径的生成算法可用()。 A.普里姆算法 B.克鲁斯卡尔算法 C.迪杰斯特拉算法 D.哈夫曼算法 15.若一个具有n个顶点,k条边的无向图是一个森林(n>k),则该森林中必有()棵树。 A. k B.n C.n-k D.1 二、判断题 1.在n个结点的无向图中,若边数大于n-1,则该图必是连通图。× 2.强连通分量是无向图的极大强连通子图。×

数据结构错题

一、图 【1】各边权值不同的无向连通图的最小生成树是唯一的 【2】当各边上的权值( 均相等)时,BFS算法可用来解决单源最短路径问题 解析:当权值相同,则最短路径问题转化为求边数最少的问题,BFS可以保证求得源点到汇点的最少边数 【3】无向图: 若V(G)中任意两个不同的顶点vi和vj都连通(即有路径),则称G为连通图。 无向图G的极大连通子图称为G的最强连通分量 有向图: 有向图G中,若对于V(G)中任意两个不同的顶点vi和vj,都存在从vi到vj以及从vj到vi 的路径,则称G是强连通图。 有向图的极大强连通子图称为G的强连通分量。 【4】无向图存储:邻接矩阵、邻接表、多重邻接表 有向图存储:邻接矩阵、邻接表、十字链表 【5】若有向图不存在回路,即使不用访问标志位同一结点也不会被访问两次() 解析:错误。如果一个点的入度大于1的话,就有可能被多次访问 【6】有向图是否有环的判定算法,主要有深度优先和拓扑排序两种方法。 【7】一个AOV网应该是一个有向无环图,即不应该带有回路,因为若带有回路,则回路上的所有活动都无法进行。既然AOV网是一个有向无环图,则其必然存在拓扑序列。【8】关键路径:1)顶点表示事件,弧表示活动2)如果顶点A->B有弧,如果让弧表示为L,则A为L的弧尾,B为L的弧头,即有箭头的那一端叫头。 【9】若无向图G = (V.E)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是() 解析:任何情况都连通的最少边数表示边分布最浪费的最少边情况,取点数减一的完全图6*5/2=15再加一条边得结果16 【10】AOE网的定义:在带权有向图中若以顶点表示事件,有向边表示活动,边上的权值表示该活动持续的时间,这样的图简称为AOE网。从定义上来看,很容易看出两种网的不同,AOV网的活动以顶点表示,而AOE网的活动以有向边来表示,AOV网的有向边仅仅表示活动的先后次序。纵观这两种网图,其实它们总体网络结构是一样的,仅仅是活动所表示的方式不同,因此可以猜想从AOV网转换成AOE网应该是可行的。 AOV网不能有环。 AOE网一定是有向无环图 【11】关键活动延期完成,必将延期整个工程完成时间。如果有多条关键路径,此时延期的关键活动所在路径成为关键路径,其他原关键路径变为非关键路径。 关键活动提前完成,不一定使整个工程提前完成。因为关键路径可能不唯一,一条路径上的关键活动提前,只能使这条路径变为非关键路径,其他关键路径不受影响。 【12】图G的拓扑序列唯一,则其弧数必为n-1(其中n为G的顶点数) 解析:错误。有向图的邻接矩阵上三角全为1即可达到拓扑唯一,那么边数为n(n-1)/2 【13】无向图的邻接矩阵可用一维数组存储。 解析:正确。习惯上无向图的邻接矩阵一般用二维数组存储,这样使用方便。当然,任意二维数组都是可以用一维数组存储的,只是用起来不方便。

(完整word版)数据结构 第六章 图 练习题及答案详细解析(精华版)

图 1. 填空题 ⑴ 设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。 【解答】0,n(n-1)/2,0,n(n-1) 【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。 ⑵ 任何连通图的连通分量只有一个,即是()。 【解答】其自身 ⑶ 图的存储结构主要有两种,分别是()和()。 【解答】邻接矩阵,邻接表 【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。 ⑷ 已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。 【解答】O(n+e) 【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。 ⑸ 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。 【解答】求第j列的所有元素之和 ⑹ 有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。 【解答】出度

⑺ 图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。 【解答】前序,栈,层序,队列 ⑻ 对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal 算法求最小生成树的时间复杂度为()。 【解答】O(n2),O(elog2e) 【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。 ⑼ 如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。 【解答】回路 ⑽ 在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。 【解答】vi, vj, vk 【分析】对由顶点vi, vj, vk组成的图进行拓扑排序。 2. 选择题 ⑴ 在一个无向图中,所有顶点的度数之和等于所有边数的()倍。 A 1/2 B 1 C 2 D 4 【解答】C 【分析】设无向图中含有n个顶点e条边,则。

《数据结构及其应用》笔记含答案 第六章_图

第6章图 一、填空题 1、用顶点表示活动,用弧表示活动间优先关系的有向图称为顶点表示活动的网(AOV-网)。 2、有n(n-1)/2条边的无向图称为_无向完全图__;有n(n-1)条边的有向图称为_有向完全图。 3、一个含n个结点的完全无向图中,其最大边数为__ n(n-1)/2_。 4、顶点表示事件,弧表示活动,权表示活动持续时间的有向图称为AOE-网。 二、判断题 1、任何无向图都存在生成树。() 2、连通分量是无向图中的极小连通子图。() 3、强连通分量是有向图中的极大强连通子图。() 4、用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关。() 5、邻接表法只用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。() 6、求最小生成树的Prim算法在边较少、结点较多时效率较高。() 7、图的最小生成树的形状可能不唯一。() 8、一个AOV网的拓扑序列一定是唯一的。() 9、若AOV网中存在环,则不能求它的拓扑排序序列。() 10、若AOV网中所有顶点都在它的拓扑有序序列中,则该AOV网必定不存在环。() 11、缩短关键路径上活动的工期一定能够缩短整个工程的工期。() 12、AOE网中一定只有一条关键路径。() 三、单项选择题 1、在一个图中,所有顶点的度数之和等于图的边数的(C)倍。 A.1/2 B.1 C.2 D.4 2、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的(B)倍。 A.1/2 B.1 C.2 D.4 解释:有向图所有顶点入度之和等于所有顶点出度之和。 3、具有n个顶点的有向图最多有(B)条边。 A.n B.n(n-1) C.n(n+1) D.n2 解释:有向图的边有方向之分,即为从n个顶点中选取2个顶点有序排列,结果为n(n-1)。 4、n个顶点的连通图用邻接距阵表示时,该距阵至少有(B)个非零元素。 A.n B.2(n-1) C.n/2 D.n2 5、G是一个非连通无向图,共有28条边,则该图至少有(C)个顶点。 A.7 B.8 C.9 D.10 解释:8个顶点的无向图最多有8*7/2=28条边,再添加一个点即构成非连通无向图,故至少有9个顶点。 6、若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是(B)图。 A.非连通B.连通C.强连通D.有向 解释:即从该无向图任意一个顶点出发有到各个顶点的路径,所以该无向图是连通图。 7、下面(A)算法适合构造一个稠密图G的最小生成树。

数据结构答案

习题七图 一、单项选择题 1.设有无向图G=(V,E)和G’=(V’,E’),如G’为G的生成树,则下面不正确的说法是() A.G’为G的子图 B.G’为G的连通分量 C.G’为G的极小连通子图且V’=V D.G’是G的无环子图 2.任何一个带权的无向连通图的最小生成树() A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在 3.以下说法正确的是() A.连通分量是无向图中的极小连通子图。 B.强连通分量是有向图中的极大强连通子图。 C.在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧。 D.对有向图G,如果从任意顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图。 4.图中有关路径的定义是()。 A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是 5.设无向图的顶点个数为n,则该图最多有()条边。 A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E.n2 6.要连通具有n个顶点的有向图,至少需要()条边。 A.n-l B.n C.n+l D.2n 7.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。 A.1/2 B.2 C.1 D.4 8.下列哪一种图的邻接矩阵是对称矩阵?() A.有向图 B.无向图 C.AOV网 D.AOE网 9. 下列说法不正确的是()。 A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 B.遍历的基本算法有两种:深度遍历和广度遍历 C.图的深度遍历不适用于有向图 D.图的深度遍历是一个递归过程 10.下面哪一方法可以判断出一个有向图是否有环(回路): A.深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径 11. 在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。 A. O(n) B. O(n+e) C. O(n2) D. O(n3) 12.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={,,,,,,,,},G的拓扑序列是()。 A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7 C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7 13. 在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是()。 A.G中有弧 B.G中有一条从Vi到Vj的路径

数据结构习题册

第七章图 一单选题 1.在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的入度数之和为()。 A s B s-1 C s+1 D n 2.在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度数之和为()。 A n B s-1 C s+1 D 2s 3.在一个具有n个顶点的无向图中,若具有e条边,则所有顶点的度数之和为()。 A s B e C n+e D 2e 4.在一个具有n个顶点的无向完全图中,所含的边数为()。 A n B n(n-1) C n(n-1)/2 D n(n+1)/2 5.在一个具有n个顶点的有向完全图中,所含的边数为()。 A n B n(n-1) C n(n-1)/2 D n(n+1)/2 7.若一个图中包含有k个连通分量,若要按照深度优先搜索的方法访问所有顶点,则必须调用()次深度优先搜索遍历的算法。 A k B 1 C k-1 D k+1 8.在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为()。 A n B n×e C e D 2×e 9.在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为()。 A n B n×e C e D 2×e 10.对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为()。 A k1 B k2 C k1- k2 D k1+ k2 11.在一个有向图的邻接表中,每个顶点单链表中结点的个数等于顶点的()。 A 出边数 B 入边数 C 度数 D 度数减1 12.若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对该图进行深度优先搜索,得到的顶点序列可能为()。 A A,B,C,F,D,E B A,C,F,D,E,B C A,B,D,C,F,E D A,B,D,F,E,C 13.若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对该图进行广度优先搜索,得到的顶点序列可能为()。 A A,B,C,F,D,E B A,B,D,E,F,C C A,B,D,C,E,F D A,C,B,F,D,E 14.若一个图的边集为{<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>},则从顶点1开始对该图进行深度优先搜索,得到的顶点序列可能为()。 A 1,2,5,4,3 B 1,2,3,4,5 C 1,2,5,3,4 D 1,4,3,2,5 15.若一个图的边集为{<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>},则从顶点1开始对

计算机专业基础综合数据结构(图)历年真题试卷汇编1

计算机专业基础综合数据结构(图)历年真题试卷汇编1 (总分:60.00,做题时间:90分钟) 一、单项选择题(总题数:20,分数:40.00) 1.下列关于无向连通图特性的叙述中,正确的是( )。【2009年全国试题7(2分)】I.所有顶点的度之和为偶数Ⅱ.边数大于顶点个数减1Ⅲ.至少有一个顶点的度为1 (分数:2.00) A.只有I √ B.只有Ⅱ C.I和Ⅱ D.I和Ⅲ 解析:解析:无向图中一条边要连接两个顶点,因此顶点的度数之和必为偶数。n个顶点的无向连通图至少需要n-1条边。无向连通图并不要求“至少有一个顶点的度为1”。 2.若无向图G=(V,E)中含有7个顶点,要保证图G在任何情况下都是连通的,则需要的边数最少是( )。【2010年全国试题7(2分)】 (分数:2.00) A.6 B.15 C.16 √ D.21 解析:解析:要保证n个顶点的无向图G在任何情况下都是连通的,则需要先由n-1个顶点组成完全图,从第n个顶点引一条到n-1任一顶点的边,则图肯定是连通的。本题先由6个顶点组成完全图,需要6(6-1)/2=15条边,故按题目要求“需要的边数最少”是15+1=16。 3.对下图进行拓扑排序,可以得到不同拓扑序列的个数是( )。【2010年全国试题8(2分) (分数:2.00) A.4 B.3 √ C.2 D.1 解析: 4.下列关于图的叙述中,正确的是( )。【2011年全国试题8(2分)】I.回路是简单路径Ⅱ.存储稀疏图,用邻接矩阵比邻接表更省空间Ⅲ.若有向图中存在拓扑序列,则该图不存在回路 (分数:2.00) A.仅Ⅱ B.仅I、Ⅱ C.仅Ⅲ√ D.仅I、Ⅲ 解析:解析:图中第1个顶点和最后一个顶点相同的路径称为回路或环。序列中所有顶点不重复出现的路径称为简单路径,邻接矩阵的大小只和顶点个数相关,存储稀疏图,用邻接表比邻接矩阵更省空间。拓扑序列成功的前提是有向图中不存在回路。 5.对有n个结点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是( )。【2012年全国试题5(2分)】 (分数:2.00) A.O(n) B.O(e) C.O(n+e) √ D.O(n×e)

图论导引参考答案

图论导引参考答案 图论导引参考答案 图论是数学中的一个分支,研究的是图的性质和图之间的关系。图由节点和边组成,节点表示对象,边表示对象之间的连接关系。图论在计算机科学、网络分析、社交网络等领域有着广泛的应用。本文将介绍图论的基本概念和常见算法,并提供一些参考答案来帮助读者更好地理解和应用图论。 一、图的基本概念 1.1 有向图和无向图 图可以分为有向图和无向图两种类型。有向图中,边有方向,表示节点之间的单向关系;而无向图中,边没有方向,表示节点之间的双向关系。 1.2 路径和环 路径是指图中一系列节点和边的连续序列,路径的长度为路径中边的数量。如果路径的起点和终点相同,则称之为环。 1.3 连通图和连通分量 在无向图中,如果任意两个节点之间都存在路径,则称该图为连通图。连通图中的极大连通子图称为连通分量。 1.4 强连通图和强连通分量 在有向图中,如果任意两个节点之间都存在路径,则称该图为强连通图。强连通图中的极大强连通子图称为强连通分量。 二、图的存储方式 2.1 邻接矩阵 邻接矩阵是一种常见的图的存储方式,使用一个二维矩阵来表示图中节点之间

的连接关系。矩阵的行和列分别表示节点,矩阵中的元素表示节点之间是否存在边。 2.2 邻接表 邻接表是另一种常见的图的存储方式,使用一个数组和链表的结构来表示图中节点之间的连接关系。数组中的每个元素表示一个节点,链表中的每个节点表示与该节点相连的边。 三、常见图算法 3.1 深度优先搜索(DFS) 深度优先搜索是一种用于遍历图的算法。从图中的一个节点开始,沿着一条路径一直深入直到无法继续为止,然后回溯到上一个节点,继续深入其他路径。DFS可以用于判断图的连通性、寻找路径等问题。 3.2 广度优先搜索(BFS) 广度优先搜索也是一种用于遍历图的算法。从图中的一个节点开始,先访问其所有相邻节点,然后再依次访问这些节点的相邻节点,以此类推。BFS可以用于计算最短路径、寻找连通分量等问题。 3.3 最小生成树算法 最小生成树算法用于求解一个连通图的最小生成树,即包含图中所有节点且边的权重之和最小的子图。常见的最小生成树算法有Prim算法和Kruskal算法。 3.4 最短路径算法 最短路径算法用于求解图中两个节点之间的最短路径。常见的最短路径算法有Dijkstra算法和Floyd-Warshall算法。 四、参考答案

强连通图的名词解释

强连通图的名词解释 强连通图是图论中的一个重要概念,它描述了在一个有向图中,任意两个顶点之间都存在一条有向路径。正如其名字所示,强连通图强调了图中的顶点之间能够互相连通,并且可以沿着有向边进行无限次地往返。 一、强连通图的定义和性质 强连通图是一个有向图,其中的每一个顶点都可以通过有向路径相互到达。换句话说,对于有向图中的任意两个顶点u和v,存在一条从u到v的有向路径,同时也存在一条从v到u的有向路径。 强连通图具有以下一些重要性质: 1. 强连通图是连通图的一种特殊情况。连通图指的是在无向图中,任意两个顶点之间都存在一条路径。与之类似,强连通图在有向图中满足同样的条件。 2. 每个顶点在强连通图中都是可达的,也即任意一个顶点可以到达其他每一个顶点。这是强连通图与其他类型图的重要区别之一。 3. 强连通图中的有向环是存在的。有向环指的是可以从某个顶点出发经过多次有向边返回该顶点的路径。在强连通图中,每个顶点都至少包含自己到自己的有向环。 二、强连通分量 强连通分量是强连通图中的一个重要定义。强连通分量是指一个最大的顶点集合,其中的每两个顶点之间都存在一条路径。换句话说,一个强连通分量是一个强连通图的极大子图,不可再加入更多的顶点。 强连通分量具有以下一些性质:

1. 在一个强连通分量内部,任意两个顶点之间都是互相可达的。也就是说,强 连通分量内的所有顶点都可以通过有向边相互到达。 2. 强连通分量之间是相互独立的,无法通过任意的有向路径互相到达。这意味 着在一个强连通分量内的顶点和其他强连通分量内的顶点之间不存在直接的有向边。 3. 强连通分量的数量可以作为判断一个有向图是否为强连通图的依据。如果一 个有向图只有一个强连通分量,那么它就是一个强连通图。 三、强连通图和实际应用 强连通图不仅是图论中的一个重要概念,也在现实世界中有着广泛的应用。 1. 在社交网络分析中,强连通图可以用来描述人与人之间的关系。如果一个社 交网络中的每个人都可以通过某种方式与其他人联系到,那么这个社交网络就是一个强连通图。 2. 在电子商务中,强连通图可以用来分析用户之间的流量和购买行为。通过构 建用户之间的连接关系,可以更好地了解用户的兴趣和购买偏好。 3. 在交通规划和路径规划中,强连通图可以帮助人们找到最短路径或最快路径。通过分析城市中各个地点之间的连通性,可以优化交通流量和提高交通效率。 四、总结 强连通图作为图论中的一个重要概念,描述了有向图中顶点之间的互相连通性。强连通图具有定义明确、性质突出,并且在实际应用中有着广泛的用途。对于研究者、工程师和学生而言,理解和应用强连通图是提高图论和网络分析技能的重要一步。通过掌握强连通图的定义和性质,我们可以更深入地理解复杂网络结构,并且为解决实际问题提供优化方案。

连通分支的定义

连通分支的定义 一、引言 连通分支是图论中的一个重要概念,用于描述图中的连通性。在图中连接在一起的节点构成一个连通分支。在本文中,我们将详细讨论连通分支的定义、性质以及如何在图中找到连通分支,旨在帮助读者更深入地了解和理解这一概念。 二、定义 连通分支是指图中的节点集合,其中的任意两个节点之间都存在一条路径。换句话说,对于连通分支中的任意两个节点,我们可以通过边来沿路径相互到达。连通分支是图中的一个最大连通子图,因为它包含了图中所有可以通过路径相互到达的节点。 三、性质 连通分支具有以下性质: 1. 最大性质 连通分支是一个最大连通子图,即它不包含在其他的连通分支中。换句话说,如果我们将连通分支中的任意一个节点添加到该分支外的节点中,将会破坏连通性。 2. 无向图中的连通分支 对于无向图而言,连通分支是无向图中的极大连通子图。一个无向图可以包含多个连通分支,每个连通分支都是一个独立的连通子图。 3. 有向图中的连通分支 对于有向图而言,连通分支是有向图中的极大强连通子图。强连通子图是指其中的所有节点之间互相可达,即对于连通分支中的任意两个节点,存在一条有向路径可以从一个节点到达另一个节点。

四、寻找连通分支的算法 在图中寻找连通分支的算法是一项基本的图算法,下面介绍两种常见的算法:广度优先搜索(BFS)和深度优先搜索(DFS)。 1. 广度优先搜索(BFS) 广度优先搜索是一种用于遍历或搜索图中节点的算法。它从一个起始节点开始,逐层地遍历其邻接节点,直到遍历完所有连通的节点。在遍历过程中,我们可以记录下每个连通分支的节点。 以下是广度优先搜索的基本步骤: 1. 创建一个队列,并将起始节点放入队列中。2. 从队列中取出一个节点,并标记为已访问。 3. 遍历该节点的所有邻接节点, 并将未访问的邻接节点放入队列中。 4. 重复步骤2和步骤3,直到队列为空。 5. 如果还存在未访问的节点,重复步骤2到步骤4。 2. 深度优先搜索(DFS) 深度优先搜索也是一种用于遍历或搜索图中节点的算法。它从一个起始节点开始,沿着一条路径一直深入直到不能再深入为止,然后回溯到上一个节点,继续深入下一条路径。在遍历过程中,我们可以记录下每个连通分支的节点。 以下是深度优先搜索的基本步骤: 1. 创建一个栈,并将起始节点放入栈中。 2. 从栈中取出一个节点,并标记为已访问。 3. 遍历该节点的所有邻接节点,并将未访问的邻接节点放入栈中。 4. 重复步骤2和步骤3,直到栈为空。 5. 如果还存 在未访问的节点,重复步骤2到步骤4。 五、应用场景 连通分支在很多领域都有广泛的应用,下面列举几个其中的应用场景。 1. 社交网络分析 在社交网络中,连通分支可以用于帮助分析社交网络的结构和关系。通过寻找连通分支,我们可以找到社交网络中的子群体,从而更好地理解人与人之间的连接关系和社交影响。

数据结构第7章-答案

一、单选题 C01、在一个图中,所有顶点的度数之和等于图的边数的倍。 A)1/2 B)1 C)2 D)4 B02、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。 A)1/2 B)1 C)2 D)4 B03、有8个结点的无向图最多有条边。 A)14 B)28 C)56 D)112 C04、有8个结点的无向连通图最少有条边。 A)5 B)6 C)7 D)8 C05、有8个结点的有向完全图有条边。 A)14 B)28 C)56 D)112 B06、用邻接表表示图进行广度优先遍历时,通常是采用来实现算法的。 A)栈 B)队列 C)树 D)图 A07、用邻接表表示图进行深度优先遍历时,通常是采用来实现算法的。 A)栈 B)队列 C)树 D)图 A08、一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为。 A)O(n) B)O(e) C)O(n+e) D)O(n2) C09、已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是。 A)0 2 4 3 1 5 6 B)0 1 3 6 5 4 2 C)0 1 3 4 2 5 6 D)0 3 6 1 5 4 2 B10、已知图的邻接矩阵同上题,根据算法,则从顶点0出发,按广度优先遍历的结点序列是。 A)0 2 4 3 6 5 1 B)0 1 2 3 4 6 5 C)0 4 2 3 1 5 6 D)0 1 3 4 2 5 6 D11、已知图的邻接表如下所示,根据算法,则从顶点0出发按深度优先遍历的结点序列是。 A)0 1 3 2 B)0 2 3 1 C)0 3 2 1 D)0 1 2 3 A12、已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是。 A)0 3 2 1 B)0 1 2 3 C)0 1 3 2 D)0 3 1 2 A13、图的深度优先遍历类似于二叉树的。 A)先序遍历 B)中序遍历 C)后序遍历 D)层次遍历 D14、图的广度优先遍历类似于二叉树的。 A)先序遍历 B)中序遍历 C)后序遍历 D)层次遍历 B15、任何一个无向连通图的最小生成树。 A)只有一棵 B)一棵或多棵 C)一定有多棵 D)可能不存在 A16、对于一个具有n个结点和e条边的无向图,若采用邻接表表示,则顶点表的大小为,所有边链表中边结点的总数为。 A)n、2e B)n、e C)n、n+e D)2n、2e C17、判断有向图是否存在回路,可以利用___算法。 A)关键路径 B)最短路径的Dijkstra C)拓扑排序 D)广度优先遍历 A18、若用邻接矩阵表示一个有向图,则其中每一列包含的“1”的个数为。 A)图中每个顶点的入度 B)图中每个顶点的出度 C)图中弧的条数 D)图中连通分量的数目 C19、求最短路径的Dijkstra算法的时间复杂度是___。

数据结构习题精编:图

数据结构习题精编:图 一、选择题 1.设一个无向图的顶点个数为n,则该图最多具有的边数为 A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.n(n-1) 2.一个n个顶点的连通无向图,其边的个数至少为 A.n-1 B.n C.n+1 D.n(n-1)/2 3.若无向图G=(V,E)中含7 个顶点,为保证图G 在任何情况下都是连通的,需要的边数最少是 A.6 B.15 C.16 D.21 4.设G是一个非连通无向图,共有28条边,则图G的顶点个数至少为A.6 B.7 C.8 D.9 5.要连通具有n个顶点的有向图,至少需要的弧的条数为 A.n-l B.n C.n+l D.2n 6.n个顶点的完全有向图含有的弧的条数为 A.n*(n-1)/2 B.n*(n-l)C.n*n D.n*(n+1)7.n个顶点的强连通图中至少含有 A.n-1条弧B.n条弧C.n(n-1)/2条弧D.n(n-1)条弧8.若是有向图的一条弧,则称 A.vi邻接到vj B.vj邻接到vi C.vi和vj相互邻接D.vi与vj不相邻接 9.下列关于连通图和强连通图的说法中,正确的是 A.强连通图的各顶点间均可达。 B.强连通分量是无向图的极大强连通子图。 C.连通分量指的是有向图中的极大连通子图。 D.在n个结点的无向图中,若边数大于n-1,则该图必是连通图。 10.一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为 A.O(n) B.O(e) C.O(n+e) D.O(n2) 11.设有无向图G=(V,E)和G1=(V1,E1),如果G1为G的生成树,则下列说法中,错误的是 A.G1为G的子图B.G1是G的无环子图 C.G1为G的连通分量D.G1为G的极小连通子图且V1=V 12.下列说法中,正确的是 A.连通分量是无向图中的极小连通子图。 B.强连通分量是有向图中的极大强连通子图。 C.在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧。 D.对有向图G,如果从任意顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图。 13.下列说法中,错误的是 A.一个图的邻接矩阵表示是唯一的,邻接表表示不唯一。

相关主题
相关文档
最新文档