JAVA中的MST算法问题?
我正在尝试在java中编写MST代码
这里,已经给出了图表 我正在尝试编写addCheapest方法来添加节点(不在路径上),当添加到路径时,在某个位置,最小化路径中所有节点的路径成本以及可以添加的所有位置;将它添加到该位置。
private void addCheapest(List<String> path)
Here's what I wrote so far....
private void addCheapest(List<String> path){
g.getAllEdges();
int minEdge = Integer.MAX_VALUE;
int edgeValue = g.getEdgeValue(edge);
for (Edge e : g.getAllEdges())
{
if ( edgeValue < minEdge)
g.getAllEdges() = minEdge;
}
while ( g != null)
{
g.removeNode(nodeName);
for ( int i = 0; i < path.size(); i ++)
{
if (!path.contains(nodeName))
path.add(nodeName);
}
}
} *
答案 0 :(得分:1)
如果不深入研究这个问题和图算法的理论,这将不起作用:
int minEdge = Integer.MIN_VALUE;
然后if ( edgeValue < minEdge)
因为minEdge
已经尽可能小。您应该将minEdge
设置为Integer.MAX_VALUE
而不是