如何在JAVA中编写MST算法?

时间:2012-03-14 07:44:26

标签: java kruskals-algorithm prims-algorithm

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);
      }
  }

} *

1 个答案:

答案 0 :(得分:1)

如果不深入研究这个问题和图算法的理论,这将不起作用:

int minEdge = Integer.MIN_VALUE;然后if ( edgeValue < minEdge)

因为minEdge已经尽可能小。您应该将minEdge设置为Integer.MAX_VALUE而不是