2012-03-14 7 views
-2

JAVAのMSTアルゴリズムに問題がありますか?JAVAでMSTアルゴリズムを書くには?

私はグラフがで、パスに追加したときにすることをすでに与えられていると 私は(ないパス上の)ノードを追加するaddCheapestメソッドを記述しようとしています、Javaのここ

にMSTのためのコードを記述しようとしています

ある位置では、グラフ内のすべてのノードと追加可能なすべての位置に渡ってパスのコストが最小限に抑えられます。その位置に追加してください。

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

宿題自体にフラグを付けます。 – Viruzzo

+1

あなたの質問を改善することを検討してください。「その機能していない」というようなステートメントは、コードにアクセスできない人には何も意味しません。他の人が動かすことができる小さな実例は、助けを受けるチャンスを大幅に向上させます。この小さな例の出力が何であるか、さらに重要なことは、期待された/望ましい出力とどのように異なるかを説明してください。 –

+0

あなたはいくつかのコメントを追加する必要があります..私は本当にいくつかのステートメントで何をしたいのか分かりません... – hage

答えて

1

深いこの質問の理論とグラフアルゴリズムに掘りがなければ、これは動作しません。

int minEdge = Integer.MIN_VALUE;、その後

minEdgeはすでにと小さいので、可能。 minEdgeをに設定する必要があります。

+0

ありがとう!それは入力ミスだった、私はそうでなければ、より少ない値を最小整数値を見つけるためにそのばかげた試みを推測する。最も安いパスのエッジ値を追加するための助けが必要です。 – abhi

関連する問題