最小生成树
Prim算法:
①任取一顶点,去掉与它连接的所有边
②选择一个与当前顶点集合距离最近的顶点,并将该顶点和相应的边加入进来,同时不能形成回路
③重复操作②,直至所有顶点都已加入
Kruskal算法:
①去掉所有边
②选边(权最小,且不构成回路)
③重复②,直至所有顶点都已加入
1.给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:
A.23
B.18
C.17
D.24
2.先根据邻接矩阵中的上半部分画出图,再利用prim普里姆算法画出最小生成树即可
如果G是一个有15条边的非连通无向图,那么该图顶点个数最少为多少?
A.7
B.10
C.8
D.9
解:15条边的无向连通图顶点数是6(n*(n-1)/2=15),15条边的非连通无向图顶点个数最少为7个。
最短路径之迪杰斯特拉算法
①初始化:S只包含源点,U包含除V外的其他顶点
②从U中选取一个距离源点最近的顶点加入S
③更新:修改U的后继顶点的最短路径长度。
④重复步骤②和③直到所有顶点都包含在S中。
使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到的各最短路径的目标顶点是:
A.
5, 2, 3, 4, 6
B.
5, 2, 3, 6, 4
C.
5, 2, 6, 3, 4
D.
5, 2, 4, 3, 6
用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是?
A.
逆拓扑有序
B.
拓扑有序
C.
无序的
D.
以上都不对
链接:用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应__牛客网
来源:牛客网
DFS(深度优先遍历)是一个递归算法,在遍历的过程中,先访问的点被压入栈底(栈是先进后出),再说:拓扑有序是指如果点U到点V有一条弧,则在拓扑序列中U一定在V之前.深度优先算法搜索路径恰恰是一条弧,栈的输出是从最后一个被访问点开始输出,最后一个输出的点是第一个被访问的点.所以是逆的拓扑有序序列事件的最早开始时间Ve(i):max{起始时间+权值}
事件的最迟开始时间Vl(i):min{汇点的最迟发生时间-权值}
活动的最早开始时间:起点的最早开始时间Ve(i)
活动的最迟开始时间:终点的最迟开始时间Vl(i)-权值
3.如图所示的AOE-网,求这个工程最早可能在什么时间结束。
A.43
B.33
C.26
D.18
解4:AOE-网最早时间:即带权路径长度最长(关键路径)
下面是没读懂题意
4.对于一个具有N个顶点的无向图,要连通所有顶点至少需要多少条边?
A.N
B.N/2
C.N−1
D.N+1
5.已知无向图G含有16条边,其中度为4的顶点个数为3,度为3的顶点个数为4,其他顶点的度均小于3。图G所含的顶点个数至少是:
A.11
B.13
C.15
D.10
16*2-3*4-4*3=8
两个顶点的话,度为4,。三个顶点的话,度为2的才是6.四个顶点,度为2刚好
对下图进行拓扑排序,可以得到不同的拓扑序列的个数是:
A.1
B.3
C.4
D.2
图-选择题
最新推荐文章于 2022-08-03 19:30:21 发布