Performance 运行时变化Prim

Performance 运行时变化Prim,performance,graph-algorithm,Performance,Graph Algorithm,我想找到“最小生成树”,给定一个集a,其边必须在“最小生成树”中(因此它不是真正的最小生成树,但给定a,它的权重之和最小)。所以“最小生成树”肯定包含A的所有边。我对Prim的算法做了一些修改,可以在下面找到。然后我想找到这个算法的运行时间,但是,我很难找到运行时间来检查两个集合的交集是否为空。 谁能帮帮我吗?那么总的运行时间是多少呢?我已经将每个步骤的运行时间放在该步骤旁边,除了“?” 注释说明: δ(W)={v,W}∈ E:w∈ W、 五∈ V\W}表示W⊂ 五 algorithm: 1

我想找到“最小生成树”,给定一个集a,其边必须在“最小生成树”中(因此它不是真正的最小生成树,但给定a,它的权重之和最小)。所以“最小生成树”肯定包含A的所有边。我对Prim的算法做了一些修改,可以在下面找到。然后我想找到这个算法的运行时间,但是,我很难找到运行时间来检查两个集合的交集是否为空。 谁能帮帮我吗?那么总的运行时间是多少呢?我已经将每个步骤的运行时间放在该步骤旁边,除了“?”

注释说明: δ(W)={v,W}∈ E:w∈ W、 五∈ V\W}表示W⊂ 五

algorithm:


1. T = ∅, W = {v}  for some v ∈ V   O(1)
2.  While W ≠ V                     n iterations
       If (A ∩ δ(W) ≠ ∅) do              ?
           Take e = {v,w}  ∈ (A ∩ δ(W))  O(1)
           T = T ∪ {e}                   O(1)
           W = W ∪ {v,w }                O(1)
       Else
           Find e = {v,w } ∈ δ(W) s.t. ce ≤ cf ∀ f ∈ δ(W)  O(m)  
           T = T ∪ {e}                                     O(1)
           W = W ∪ {v,w }                                  O(1)
   End while