1-1
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G中一定有回路。
不一定,还可能存在2个连通分量
1-4
无向连通图边数一定大于顶点个数减1
不一定,如三个顶点三条边构成回路
1-7
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G一定有2个连通分量。
与1-1联系
1-8
无向连通图至少有一个顶点的度为1。
未考虑构成回路的情况
用邻接矩阵表示法表示图,除了一个用于存储邻接矩阵的二维数组外,还需要一个一维数组来存储顶点信息;
邻接表由两部分组成:表头结点表和边表; 所以用邻接表法存储图,占用的存储空间数只与图中结点个数和边数都有关;
C是广度优先遍历
广度优先遍历
邻接表的处理方法是这样的。
1、图中顶点用一个一维数组存储,另外,对于顶点数组中,每个数据元素还需要存储指向第一个邻接点的指针,以便于查找该顶点的边信息。
2、图中每个顶点vi的所有邻接点构成一个线性表,由于邻接点的个数不定,所以用单链表存储,无向图称为顶点vi的边表,有向图称为顶点vi作为弧尾的出边表。
注意按照邻接表指针顺序遍历,1先遍历3,才到其他的。
广度优先遍历类似于二叉树层次遍历
2-6
给定无向图G,从V0出发进行深度优先遍历访问的边集合为: {(V0,V1), (V0,V4), (V1,V2), (V1,V3), (V4,V5), (V5,V6)}。则下面哪条边不可能出现在G中?C
A.(V0,V2)
B.(V0,V6)
C.(V1,V5)
D.(V4,V6)
若(V1,V5)出现在G中,那么一定会被访问到
2-7
已知无向图G含有16条边,其中度为4的顶点个数为3,度为3的顶点个数为4,其他顶点的度均小于3。图G所含的顶点个数至少是:B
A.10
B.11
C.13
D.15
一共是16*2=32度,12+12=24,还剩8度,一个顶点两度,四个顶点。
2-8
设N个顶点E条边的图用邻接表存储,则求每个顶点入度的时间复杂度为: C
A.O(N)
B.O(N^2 )
C.O(N+E)
D.O(N×E)
邻接表存储复杂度O(N+E)
根据邻接矩阵作出图(每一列为1的表示相邻,0表示不相邻,注意无向图邻接矩阵是对称阵,有向图可以是对称阵可以不是),然后进行深度优先遍历
有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected components)。
2-17
若一个有向图用邻接矩阵表示,则第 i 个结点的入度就是:
A. 第i行的元素个数
B. 第i行的非零元素个数
C. 第i列的非零元素个数
D. 第i列的零元素个数
若一个有向图用邻接矩阵表示,则第i个结点的入度就是:第i列的非零元素个数;
若一个有向图用邻接矩阵表示,则第i个结点的出度就是:第i行的非零元素个数;
2-22
在N个顶点的无向图中,所有顶点的度之和不会超过顶点数的多少倍?
A.N−1
B.2
C.1
D.(N−1)/2
有N个顶点的无向图边数最多为N(N-1)/2,故所有顶点度之和最大为N(N-1)
若保证无向图在任何情况下都是连通的,即任意变动图G中的边,图G始终保持连通,首先需要G的任意6个结点构成完全联通子图G1,需要15条边,然后在添加一条边使第7结点与G
1连起来,共需16条边
完全连通图 n*(n-1)/2=36 n=9,题为非连通图,故还要加一个顶点,为10个顶点