当前位置: 代码迷 >> python >> Kruskal 算法初始化空集
  详细解决方案

Kruskal 算法初始化空集

热度:114   发布时间:2023-07-14 09:50:01.0

Kruskal 算法的要求之一是首先为顶点初始化一个空集,但我遇到了问题。

如果我有一个图形表示

[1,2,4]
[10,3,5]
[6,1,3]

其中第一个索引值是源顶点,第二个值是目标顶点,第三个值是权重,我将如何启动顶点的空集?

我试过类似的东西:

v_set = [0] * 11

但是我将顶点限制为最多 11 个,因此,例如,如果顶点为 12,则会产生索引超出范围的错误。 将不胜感激在这方面的一些帮助。

您可以将顶点表示为由顶点编号和边列表组成的列表,作为对应于目标顶点和边权重的元组:

您的图表可能如下所示:

[1, [(2, 14), (3, 10)]]
[2, [(1, 14), (4, 2)]]
[3, [(1, 10)]]
[4, [(2, 2)]]

在哪里:

       edge
      -----
[3, [(1, 10)]]
 ^    ^   ^ weight
 |    destination vertice   
 Vertice number