您好,欢迎访问三七文档
第6章图【例6-3】已知一个无向图的邻接表如图6-5所示,要求:(1)画出该无向图;(2)根据邻接表,分别写出用DFS(深度优先搜索)和BFS(广度优先搜索)算法从顶点V0开始遍历该图后所得到的遍历序列。解:(1)该无向图如图6-6所示。(2)根据该无向图的邻接表表示,从顶点V0开始的深度优先遍历序列为:V0、V2、V3、V1、V4、V6、V5。广度优先遍历序列为V0、V2、V5、V6、V1、V3、V4。从图的逻辑结构上来讲,从图中某个顶点开始的深度(或广度)优先遍历序列不一定是唯一的。这是因为在逻辑结构中,并没有对每个顶点的所有邻接点规定它们之间的先后顺序,这样在搜索算法中选取第—个邻接点和下一个邻接点时可能会有不同的结果。但是在存储结构中,明确地给出了邻接点的先后顺序,这时深度优先和广度优先遍历序列就是唯一的。【例6-4】对于如图6-8所示的带权无向图,用图示说明:(1)利用Prim算法从顶点a开始构造最小生成树的过程;(2)利用Kruskal算法构造最小生成树的过程;v0v1v2v3v4v6v5图6-6无向图图6-5图的邻接表存储V6V0V1V5V3V4V223056043611∧2∧1∧210250∧6∧3∧4∧3e1fdcbag97946218548图6-8带权无向图解:(1)利用Prim算法从顶点a开始构造最小生成树的过程如图6-9所示。(2)利用Kruskal算法构造最小生成树的过程如图6-10所示。a初始状态ae连通e2aeg连通g21aedg连通d2133aefdg连通f2143aefdbg连通b2146图6-9用Prim算法构造最小生成树的过程3aefdcbg连通c21461aefdcbg初始状态aefdcbg增加第2条边11aefdcbg增加第1条边1习题6一、单项选择题1.在具有n个顶点的有向图中,若所有顶点的出度之和为s,则所有顶点的入度之和为(A)。A.sB.s-1C.s+1D.n2.在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度数之和为(D)。A.sB.s-1C.s+1D.2s3.在一个具有n个顶点的无向图中,若具有e条边,则所有顶点的度数之和为(D)。A.nB.eC.n+eD.2e4.在一个具有n个顶点的无向完全图中,所含的边数为(C)。A.nB.n(n-1)C.n(n-1)/2D.n(n+1)/25.在一个具有n个顶点的有向完全图中,所含的边数为(B)。A.nB.n(n-1)C.n(n-1)/2D.n(n+1)/26.在一个无向图中,若两顶点之间的路径长度为k,则该路径上的顶点数为(B)。A.kB.k+1C.k+2D.2k7.对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为(B)。A.0B.1C.nD.n+18.若一个图中包含有k个连通分量,若要按照深度优先搜索的方法访问所有顶点,则必须调用(A)次深度优先搜索遍历的算法。A.kB.1C.k-1D.k+13aefdcbg增加第5条边21413aefdcbg增加第4条边211aefdcbg增加第3条边211图6-10用Kruskal算法构造最小生成树的过程3aefdcbg增加第6条边214619.若要把n个顶点连接为一个连通图,则至少需要(AC)条边。A.nB.n+1C.n-1D.2n10.在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为(CD)。A.nB.neC.eD.2e11.在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素个数为(C)。A.nB.neC.eD.2e12.在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为(D)。A.nB.neC.eD.2e13.在一个具有n个顶点和e条边的有向图的邻接表中,保存顶点单链表的表头指针向量的大小至少为(A)。A.nB.2nC.eD.2e14.在一个无权图的邻接表表示中,每个边结点至少包含(B)域。A.1B.2C.3D.415.对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为(B)。A.k1B.k2C.k1-k2D.k1+k216.对于一个有向图,若一个顶点的度为k1,出度为k2,则对应逆邻接表中该顶点单链表中的边结点数为(C)。A.k1B.k2C.k1-k2D.k1+k217.对于一个无向图,下面(BA)种说法是正确的。A.每个顶点的入度等于出度B.每个顶点的度等于其入度与出度之和C.每个顶点的入度为0D.每个顶点的出度为018.在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的(DA)。A.出边数B.入边数C.度数D.度数减119.若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对该图进行深度优先搜索,得到的顶点序列可能为(DB)。A.A,B,C,F,D,EB.A,C,F,D,E,BC.A,B,D,C,F,ED.A,B,D,F,E,C20.若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对该图进行广度优先搜索,得到的顶点序列可能为(AD)。A.A,B,C,D,E,FB.A,B,C,F,D,EC.A,B,D,C,E,FD.A,C,B,F,D,E21.若一个图的边集为{1,2,1,4,2,5,3,1,3,5,4,3},则从顶点1开始对该图进行深度优先搜索,得到的顶点序列可能为(A)。A.1,2,5,4,3B.1,2,3,4,5C.1,2,5,3,4D.1,4,3,2,522.若一个图的边集为{1,2,1,4,2,5,3,1,3,5,4,3},则从顶点1开始对该图进行广度优先搜索,得到的顶点序列可能为(AC).A.1,2,3,4,5B.1,2,4,3,5C.1,2,4,5,3D.1,4,2,5,323.由一个具有n个顶点的连通图生成的最小生成树中,具有(B)条边。A.nB.n-1C.n+1D.2n24.已知一个有向图的边集为{a,b,a,c,a,d,b,d,b,e,d,e},则由该图产生的一种可能的拓扑序列为(A)。A.a,b,c,d,eB.a,b,d,e,bC.a,c,b,e,dD.a,c,d,b,e二、填空题1.在一个图中,所有顶点的度数之和等于所有边数的___2____倍。2.在一个具有n个顶点的无向完全图中,包含有____n(n-1)/2__条边,在一个具有n个顶点的有向完全图中,包含有__n(n-1)___条边。3.假定一个有向图的顶点集为{a,b,c,d,e,f},边集为{a,c,a,e,c,f,d,c,e,b,e,d},则出度为0的顶点个数为__2___,入度为1的顶点个数为__6____。4.在一个具有n个顶点的无向图中,要连通所有顶点则至少需要__n_N-1__条边。5.表示图的两种存储结构为___顺序____和____链式______。邻接表和邻接矩阵6.在一个连通图中存在着___1__个连通分量。7.图中的一条路径长度为k,该路径所含的顶点数为___k+1___。8.若一个图的顶点集为{a,b,c,d,e,f},边集为{(a,b),(a,c),(b,c),(d,e)},则该图含有__3_____个连通分量。9.对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小至少为___n______n___。10.对于具有n个顶点和e条边的有向图和无向图,在它们对应的邻接表中,所含边结点的个数分别为___2e_和__e____。11.在有向图的邻接表和逆邻接表表示中,每个顶点邻接表分别链接着该顶点的所有____出边__和___入边___结点。12.对于一个具有n个顶点和e条边的无向图,当分别采用邻接矩阵和邻接表表示时,求任一顶点度数的时间复杂度分别为____O(ne)O(n)__和___O(n^2)O(e/n)_。O(n^2),O(e)13.假定一个图具有n个顶点和e条边,则采用邻接矩阵和邻接表表示时,其相应的空间复杂度分别为_____O(n^2)___和___O(n+e)_____。14.一个图的边集为{(a,c),(a,e),(b,e),(c,d),(d,e)},从顶点a出发进行深度优先搜索遍历得到的顶点序列为___acdeb____,从顶点a出发进行广度优先搜索遍历得到的顶点序列为____________。15.一个图的边集为{a,c,a,e,c,f,d,c,e,b,e,d},从顶点a出发进行深度优先搜索遍历得到的顶点序列为____________,从顶点a出发进行广度优先搜索遍历得到的顶点序列为____________。16.图的____深度__优先搜索遍历算法是一种递归算法,图的___广度___优先搜索遍历算法需要使用队列。17.对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为____n___和____en-1___。18.若一个连通图中每个边上的权值均不同,则得到的最小生成树是___唯一的__(唯一/不唯一)的。19.根据图的存储结构进行某种次序的遍历,得到的顶点序列是唯一(唯一/不唯一)的。20.假定一个有向图的边集为{a,c,a,e,c,f,d,c,e,b,e,d},对该图进行拓扑排序得到的顶点序列为___aebdcf___。三、应用题1.对于一个无向图6-11(a),假定采用邻接矩阵表示,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。2.对于一个有向图6-11(b),假定采用邻接表表示,并且假定每个顶点单链表中的边结点是按出边邻接点序号从大到小的次序链接的,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。注:每一种序列都是唯一的,因为都是在存储结构上得到的。3.已知一个无向图的邻接矩阵如图6-12(a)所示,试写出从顶点0出发分别进行深度优先和广度优先搜索遍历得到的顶点序列。4.已知一个无向图的邻接表如图6-12(b)所示,试写出从顶点0出发分别进行深度优先和广度优先搜索遍历得到的顶点序列。5.已知图6-13所示的一个网,按照Prim方法,从顶点v1出发,表示出该网的最小生成树的产生过程。6.已知图6-13所示的一个网,按照Kruskal方法,表示出该网的最小生成树的产生过程。7.图6-14所示为一个有向网图及其带权邻接矩阵,要求对有向图采用Dijkstra算法,求从V0到其余各顶点的最短路径。(a)(b)图6-12图6-110165948372(a)603451278(b)图6-13V1V2V3V4V5V6V7605065404570505242308.图6-15给出了一个具有15个活动、11个事件的工程的AOE网,求关键路径。v1v5v3v8v11v9v1001a2=4a5=3a9=4a13=10a14=1a15=6v6v7v4v2图6-15a1=3a3=2a4=1a7=6a8=8a11=7a12=4a6=5a10=2(a)有向带权图V1V0V5V4V3V25106030100502010∞∞10∞30100∞∞5∞∞∞∞∞∞50∞∞∞∞∞∞∞10∞∞∞20∞60∞∞∞∞∞∞(b)带权邻接矩阵图6-14有向带权图及其邻接矩阵
本文标题:图结构习题
链接地址:https://www.777doc.com/doc-2558928 .html