寻找连接图形的最低成本的替代方法

问题描述 投票:0回答:1

我遇到了一个经典的Kruskals问题,给定了无向图和边缘之间的权重集,要求我找到连接边缘所需的最低成本。我对Kruskals算法不太熟悉,因此我想出了自己的解决方案。但是,它在一些测试用例上不够用。这是算法:1-根据权重对边缘进行排序。使用了类型为Node的PriorityQueue。Node由src,dest和weight组成。

2-使用大小为N的布尔数组跟踪访问的节点,其中N是节点数。

2-轮询优先级队列(卸下头)。如果未访问src或dest,则将权重添加到解决方案中,并将它们都标记为已访问。

有人可以帮我解决这个算法为什么不正确吗?从逻辑上讲,在我看来,被访问的数组应该跟踪确保没有循环,因为如果未访问src或dest,我只会将其添加到解决方案中。

java algorithm graph minimum-spanning-tree kruskals-algorithm
1个回答
-1
投票

您可以使用prims算法查找MST。比Kruskal容易。

© www.soinside.com 2019 - 2024. All rights reserved.