【问题标题】:Kruskal algorithm initializing empty setKruskal 算法初始化空集
【发布时间】:2018-09-23 00:14:57
【问题描述】:

克鲁斯卡尔算法的一个要求是首先为顶点初始化一个空集,但我遇到了问题。

如果我有一个由

表示的图形
[1,2,4]
[10,3,5]
[6,1,3]

其中第一个索引值是源顶点,第二个值是目标顶点,第三个值是权重,我将如何为顶点初始化空集?

我尝试了类似的方法:

v_set = [0] * 11

但我将顶点限制为最多 11 个,因此,例如,如果顶点为 12,则会产生索引超出范围错误。希望能得到一些帮助。

【问题讨论】:

    标签: python graph set minimum-spanning-tree kruskals-algorithm


    【解决方案1】:

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

    您的图表可能如下所示:

    [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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 2017-08-30
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多