2012-03-14 2 views
-2

JAVA의 MST 알고리즘에 문제가 있습니까? 경로를 추가 할 때자바에서 MST 알고리즘을 작성하는 방법은 무엇입니까?

내가 여기

는, 그래프가 이미 주어진 자바 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

+1

질문 개선을 고려하십시오. "작동하지 않음"과 같은 문구는 코드에 액세스 할 수없는 사람에게는 아무런 의미가 없습니다. 다른 사람들이 실행할 수있는 작은 실천 사례는 도움을받을 기회를 크게 향상시킵니다. 이 작은 예제의 결과가 무엇이며, 더 중요한 것은 예상/원하는 출력과 어떻게 다른지 설명하십시오. –

+0

당신은 몇 가지 코멘트를 추가해야합니다 .. 나는 정말로 당신이 어떤 진술로하고 싶은 것을 이해할 수 없다 ... – hage

답변

1

깊은이 질문에 그래프 알고리즘의 이론을 파고하지 않고,이 작동하지 않습니다

int minEdge = Integer.MIN_VALUE; 다음

minEdge 이미만큼 작기 때문에 가능한. minEdge을 으로 설정하십시오.

+0

고마워! 그것은 입력 된 미스, 그렇지 않으면 그 바보 적은 정수 값을 다음 최소 정수를 찾으려고 노력 같아요. 가장 싼 경로의 가장자리 값을 추가하는 데 도움이 필요합니다. – abhi