#CS209. 图
图
第二章 程序设计基本知识
第9节 图
1.【NOIP2016】Lucia和她的朋友以及朋友的朋友都在某社交网站上注册了账号。下图是他们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表不是朋友。这个社交网站的规则是:如果某人A向他(她)的朋友B分享了某张照片,那么 B就可以对该照片进行评论;如果B评论了该照片,那么他(她)的所有朋友都可以看见这个评 论以及被评论的照片,但是不能对该照片进行评论(除非A也向他(她)分享了该照片)。现在Lucia已经上传了一张照片,但是她不想让Jacob看见这张照片,那么她可以向以下朋友( )分享该照片。
{{ select(1) }}
- Dana,Michael,Eve
- Michael,Eve,Jacob
- Dana,Eve,Monica
- Micheal,Peter,Monica
2.【NOIP2014】有向图中每个顶点的度等于该顶点的( )。
{{ select(2) }}
- 入度
- 出度
- 入度与出度之和
- 入度与出度之差
3.【NOIP2014】在无向图中,所有顶点的度数之和是边数的( )倍。
{{ select(3) }}
- 0.5
- 1
- 2
- 4
4.【NOIP2016】设简单无向图G有16条边且每个顶点的度数都是2,则图G有( )个顶点。
{{ select(4) }}
- 10
- 12
- 8
- 16
5.【NOIP2010】关于拓扑排序,下面说法正确的是()。
{{ select(5) }}
- 所有连通的有向图都可以实现拓扑排序
- 对一个图而言,拓扑排序的结果是唯一的
- 拓扑排序中入度为0的结点总会排在入度大于0的结点的前面
- 拓扑排序结果序列中的第一个结点一定是入度为0的点
6.【NOIP2008】设T是一棵有n个顶点的树,下列说法不正确的是()。
{{ select(6) }}
- T有n条边
- T是连通的
- T是无环的
- T有n-1条边
7.【NOIP2017】设G是有n个结点、m条边(n≤m)的连通图,必须删去G的()条边,才能使得G变成一棵树。
{{ select(7) }}
- m-n+1
- m-n
- m+n+1
- n-m +1
8.【NOIP2015】6个顶点的连通图的最小生成树,其边数为( )。
{{ select(8) }}
- 6
- 5
- 7
- 4
9.【NOIP2014】设G是有6个结点的完全图,要得到一棵生成树,需要从G中删去( )条边。
{{ select(9) }}
- 6
- 9
- 10
- 15
10.【NOIP2009】已知n个顶点的有向图,若该图是强连通的(从所有顶点都存在路径到达其他顶点),则该图中最少有多少条有向边?
{{ select(10) }}
- n
- n+1
- n-1
- n*(n-1)
11.【NOIP2011】无向完全图是图中每对顶点之间都恰有一条边的简单图。已知无向完全图G有7个顶点,则它共有( )条边。
{{ select(11) }}
- 7
- 21
- 42
- 49
12.【NOIP2011】对一个有向图而言,如果每个节点都存在到达其他任何节点的路径,那么就称它是强连通的。例如,右图就是一个强连通图。事实上,在删掉边( )后,它依然是强连通的。
{{ select(12) }}
- a
- b
- C
13.【NOIP2013】在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。下图是一个有4个顶点、6条边的连通图。若要使它不再是连通图,至少要删去其中的( )条边。
{{ select(13) }}
- 1
- 2
- 3
- 4
14.【NOIP2013】在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。右图是一个有5个顶点、8条边的连通图。若要使它不再是连通图,至少要删去其中的( )条边。
{{ select(14) }}
- 2
- 3
- 4
- 5
15.【NOIP2013】二分图是指能将顶点划分成两个部分,每一部分内的顶点间没有边相连的简单无向图。那么,12个顶点的二分图至多有( )条边。
{{ select(15) }}
- 18
- 24
- 36
- 66
16.【NOIP2015】对图G中各个结点分别指定一种颜色,使相邻结点颜色不同,则称为图G的一个正常着色。正常着色图G所必需的最少颜色数,称为G的色数。那么下图的色数是( )。
{{ select(16) }}
- 3
- 4
- 5
- 6
17.【NOIP2016】G是一个非连通简单无向图,共有28条边,则该图至少有()个顶点。
{{ select(17) }}
- 10
- 9
- 8
- 7
18.【NOIP2017】由四个不同的点构成的简单无向连通图的个数是()。
{{ select(18) }}
- 32
- 35
- 38
- 41
19.【NOIP2018】由四个没有区别的点构成的简单无向连通图的个数是( )。
{{ select(19) }}
- 6
- 7
- 8
- 9
20.【NOIP2013】以Ag作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是( )。
{{ select(20) }}
- A,A₁,A₂,A₃
- Ae,A,A₃,A₂
- Ao,A₂,A₁,A₃
- Ao,A₃,A1,A2
21.【NOIP2015】具有n个顶点,e条边的图采用邻接表存储结构,进行深度优先遍历和广度优先遍历运算的时间复杂度均为( )。
{{ select(21) }}
- O(n²)
- O(e²)
- 0(ne)
- 0(n+e)
22.【NOIP2013】对一个n个顶点、m条边的带权有向简单图用Dijkstra算法计算单源最短路时,如果不使用堆或其它优先队列进行优化,则其时间复杂度为( )。
{{ select(22) }}
- 0(mn +n³)
- O(n²)
- 0((m+n)log n)
- 0((m+n²)log n)
23.【NOIP2009】右图给出了一个加权无向图,从顶点V₈开始用prim算法求最小生成树。则依次加入最小生成树的顶点集合的顶点序列为:
{{ select(23) }}
- V0,V1,V2,V3,V5,V4
- V0,V1,V5,V4,V3,V3
- V1,V2,V3,V0,V5,V4
- V1,V2,V3,V0,V4,V5
不定项选择题
1.【NOIP2014】以下哪些结构可以用来存储图( )。
{{ multiselect(24) }}
- 邻接矩阵
- 栈
- 邻接表
- 二叉树
2.【NOIP2009】若3个顶点的无权图G的邻接矩阵用数组存储为{{0,1,1},{1,0,1},{0,1,0}},假定在具体存储中顶点依次为:V1,v₂,v₃关于该图,下面的说法哪些是正 确的:
{{ multiselect(25) }}
- 该图是有向图。
- 该图是强连通的。
- 该图所有顶点的入度之和减所有顶点的出度之和等于1。
- 从v₁开始的深度优先遍历所经过的顶点序列与广度优先的顶点序列是相同的。
3.【NOIP2012】已知带权有向图G上的所有权值均为正整数,记顶点u到顶点v的最短路径的权值为d(u,v)。若v1,v2,v3,v4,v5是图G上的顶点,且它们之间两两都存在路径可达,则以下说法正确的有( )。
{{ multiselect(26) }}
- v1到v2的最短路径可能包含一个环
- d(v1,v2)=d(v2,v1)
- d(v1,v3)≤d(v1,v2)+d(v2,v3)
- 如果v1→v2→v3→v4→v5是v1到v5的一条最短路径,那么 v2→v3→v4是v2到v4的一条最短路径
4.【NOIP2015】以下图中一定可以进行黑白染色的有( )。(黑白染色:为各个结点分别指定黑白两种颜色之一,使相邻结点颜色不同。)
{{ multiselect(27) }}
- 二分图
- 完全图
- 树
- 连通图
5.【NOIP2018】下列关于最短路算法的说法正确的有( )。
{{ multiselect(28) }}
- 当图中不存在负权回路但是存在负权边时,Dijkstra算法不一定能求出源点到所有点的最短路。
- 当图中不存在负权边时,调用多次Dijkstra算法能求出每对顶点间最短路径。
- 图中存在负权回路时,调用一次Dijkstra算法也一定能求出源点到所有点的最短路。
- 当图中不存在负权边时,调用一次Dijkstra算法不能用于每对顶点间最短路计算
6.【NOIP2011】对右图使用Dijkstra算法计算S点到其余各点的最短路径长度时,到B点的距离d[B]初始时赋为8,在算法的执行过程中还会出现的值有( )。
{{ multiselect(29) }}
- 3
- 7
- 6
- 5