【发布时间】:2020-01-07 08:46:24
【问题描述】:
给定一个包含 N 个顶点的图,以及存储在元组 T1 = (d11, d12, …, d1n) to Tn = (dn1, dn2, …, dnn) 中的顶点边缘之间的距离。从顶点 V1 开始找出该图的最小生成树。此外,打印通过这棵生成的树所需的总行程。
Example:
For N =5
T1 = (0, 4, 5, 7, 5)
T2 = (4, 0, 6, 2, 5)
T3 = (5, 6, 0, 2, 1)
T4 = (7, 2, 2, 0, 5)
T5 = (5, 5, 1, 5, 0)
Selection of edges according to minimum distance are:
V1 -> V2 = 4
V2 -> V4 = 2
V4 -> V3 = 2
V3 -> V5 = 1
Thus, MST is V1 -> V2 -> V4 -> V3 -> V5 and the distance travelled is 9 (4+2+2+1)
从字面上看,我不知道如何在 R 中创建一个包含 n 个顶点的图。
我在谷歌搜索但我不明白如何解决上述问题。
请帮帮我。
【问题讨论】:
-
其实我没有图,我需要创建一个有 n 个顶点的图吗?对这个问题有点困惑
-
如果我们有图,我认为我们可以计算最小生成树。如何获得代表问题的 N 个顶点图?
-
我认为你可以只使用
mst(g),但也许也可以使用mst(g, weights = E(g)$weights)? -
sum(E(mg)$weight),其中mg是最小生成树图