2011-08-23 4 views

답변

0

는 JUNG에서 그의 구현이 아니지만, 그래프, 정점, 가장자리가 같은 종류의 것을 가정 코드의 약 6 라인입니다 :

 
// given Graph g1, g2 
Graph g = new [appropriate Graph implementation] 
for (V v : Collections.union(g1.getVertices(), g2.getVertices())) { 
    g.addVertex(v); 
} 
for (E e : g1.getEdges()) { 
    g.addEdge(e, g1.getEndpoints(e)); 
} 
for (E e : g2.getEdges()) { 
    g.addEdge(e, g2.getEndpoints(e)); 
} 

당신은 정점 추가 건너 뛸 수를 격리 된 정점이 없다면 (즉, 입사 에지가없는 정점); addEdge()은 인시던트 정점을 추가합니다.

그래프가 지시하는 경우, 당신이 위의 내용을 변경할 수 있습니다

g.addEdge(e, g1.getSource(e), g1.getDest(e));

중복은 자동으로 (당신이 추가가 영향을 미쳤다 여부를 알고 싶은 경우, 반환 값을 확인) 무시됩니다 .

+0

고마워요,하지만 지금은 또 다른 의심이 있습니다. 그래프의 거대한 연결 구성 요소를 가져 오는 방법이 있습니까? 아니면 WeakComponentClusterer 클래스를 사용하고 거대한 클러스터를 찾기 위해 모든 클러스터를 반복해야합니까? – Paulo

+0

두 번째 질문에 대한 답변은 http://stackoverflow.com/questions/7182052/jung-how-to-get-the-giant-connected-component-of-a-graph에 있습니다. –

관련 문제