2012-03-14 2 views
-2

Проблема с алгоритмом MST в JAVA?Как написать алгоритм MST в JAVA?

Я пытаюсь написать код для MST в Java

Здесь граф уже дан и Я пытаюсь написать метод 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

+1

Рассмотрите возможность улучшения своего вопроса: заявление типа «его не работает» ничего не значит для тех, у кого нет доступа к вашему коду. Небольшой рабочий пример, который могут выполнять другие, значительно улучшит шансы получить помощь. Объясните, что представляет собой результат этого небольшого примера и, что более важно, как это отличается от ожидаемого/желаемого результата. –

+0

Вы должны добавить комментарии .. Я действительно не могу понять, что вы хотите делать с некоторыми утверждениями ... – hage

ответ

1

Без рыть глубоко в теорию этого вопроса и графов алгоритмов, это не будет работать:

int minEdge = Integer.MIN_VALUE;, а затем

потому minEdge уже как малые, как возможное. Вы должны установить minEdge на Integer.MAX_VALUE вместо

+0

Спасибо! Это было пропущено, я думаю, иначе его глупо пытаться найти меньшее значение, а затем минимальное целочисленное значение. Мне нужна помощь, чтобы добавить \ ding значение edge в самый дешевый путь. – abhi