2012-03-14 42 views
-2

JAVA中MST算法的問題?如何在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

標記家庭作業。 – Viruzzo 2012-03-14 07:46:38

+1

考慮改進你的問題:像「不工作」這樣的陳述對於無法訪問你的代碼的人來說意味着什麼。其他人可以運行的一個小實例可以大大提高獲得幫助的機率。解釋這個小例子的輸出是什麼,更重要的是,這與預期/期望的輸出有什麼不同。 – 2012-03-14 07:48:42

+0

你應該添加一些評論..我真的無法弄清楚你想用一些語句做什麼... – hage 2012-03-14 07:56:22

回答

1

沒有深入挖掘的這個問題,圖算法的理論,這是不行的:

int minEdge = Integer.MIN_VALUE;然後

因爲minEdge已經爲小可能。您應該將minEdge設置爲Integer.MAX_VALUE而不是

+0

謝謝!這是錯過打字,我想否則它愚蠢試圖找到較小的價值,然後最小的整數值。我需要幫助才能在最便宜的路徑中添加邊緣值。 – abhi 2012-03-14 07:57:38