Algorithm 图算法

Algorithm 图算法,algorithm,graph,minimum-spanning-tree,Algorithm,Graph,Minimum Spanning Tree,krushkal算法中要考虑的最大和最小边数是多少?两种情况都有一个例子 我的想法是,因为Krushkal的算法是寻找最小生成树,最大边数是(V-1),其中V是顶点数。再添加一条边将导致图形中出现循环。如何获得最小值?一棵由N个顶点组成的树总是有N-1条边。因此,在Kraskar算法中,你必须考虑至少N-1个边。例如,一个图可能是一棵树。Kruskal的算法在向MST添加V-1边时停止,因此这是必须考虑的最小值。当图形的最低值V-1边没有形成一个循环时,就会发生这种情况,算法会一个接一个地添加这

krushkal算法中要考虑的最大和最小边数是多少?两种情况都有一个例子


我的想法是,因为Krushkal的算法是寻找最小生成树,最大边数是(V-1),其中V是顶点数。再添加一条边将导致图形中出现循环。如何获得最小值?

一棵由N个顶点组成的树总是有N-1条边。因此,在Kraskar算法中,你必须考虑至少N-1个边。例如,一个图可能是一棵树。

Kruskal的算法在向MST添加
V-1
边时停止,因此这是必须考虑的最小值。当图形的最低值
V-1
边没有形成一个循环时,就会发生这种情况,算法会一个接一个地添加这些边,然后停止

例如,考虑一个具有成本>1>/代码>的边的完整图,它在图中是最小的,在节点<代码> 1 < /代码>和其他节点之间。使所有其他边缘具有成本

2

最糟糕的情况是,您必须检查每条边(其中有
O(V^2)
),直到最后选择
V-1
。这意味着您必须在添加最后一条边之前强制创建大量循环

再考虑一个完整的图。节点
1
V-2
节点之间的
V-2
边的成本为1,这是图中的最小值。这些将首先被选择。现在,让node
k
成为不属于选定边的节点,这样它就不在图中。节点
k
和节点
1
之间的边缘成本最大。这将导致最后检查并添加到MST,强制算法在构建MST之前检查所有
O(V^2)

请记住,Kruskal的算法按成本的递增顺序处理边,拒绝将边添加到我们正在构建的MST中会形成循环的边。

应在中询问