给定一个包含 n 个顶点和 m 条边的连通无向图。第 i 条边的权值为 i。
下面是一个错误的寻找最小生成树(MST)的算法:
vis := 长度为 n 的数组
s := 边的集合
function dfs(u):
vis[u] := true
按边权从小到大遍历每一条与 u 相连的边 (u, v)
if vis[v] = false
将边 (u, v) 加入集合 s
dfs(v)
function findMST(u):
将 vis 数组全部重置为 false
将边集 s 重置为空
dfs(u)
返回边集 s
分别调用 findMST(1), findMST(2), ..., findMST(n) 时,每次都会得到一棵图的生成树。请判断这些生成树中哪些是最小生成树。
