2012-03-14 43 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