-2

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

}*

4

1 に答える 1

1

この質問とグラフ アルゴリズムの理論を深く掘り下げないと、これは機能しません。

int minEdge = Integer.MIN_VALUE;その後if ( edgeValue < minEdge)

なぜならminEdge、すでに可能な限り小さいからです。代わりに設定する必要がありminEdgeますInteger.MAX_VALUE

于 2012-03-14T07:51:51.127 に答える