J'ai des graphes que je veux unir, c'est-à-dire créer un nouveau graphe composé par l'union des arêtes et des nœuds du graphe (sans répétition). Y a-t-il une implémentation pour ce qui est disponible dans JUNG ou est-ce que je l'ai fait moi-même?Comment unir deux graphiques dans JUNG?
0
A
Répondre
0
Il n'y a pas une mise en œuvre pour que JUNG, mais il est à peu près six lignes de code en supposant que les graphiques, les sommets et les arêtes sont des mêmes types:
// 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)); }
Vous pouvez sauter le sommet ajouter s'il n'y a pas de sommets isolés (c'est-à-dire, des sommets qui n'ont pas de bords incidents); addEdge()
ajoutera des sommets incidents.
Si le graphique est dirigé, vous aurez envie de changer le ci-dessus pour
g.addEdge(e, g1.getSource(e), g1.getDest(e));
Doublons sont ignorées en silence (si vous voulez savoir si un ajout a eu un effet, vérifiez la valeur de retour) .
Questions connexes
- 1. Comment Unir deux différents critères MongoId
- 2. Unir deux champs de données
- 3. Can Jung graphiques apparaissent au même endroit à chaque fois?
- 4. Comment unir 3 fichiers dans une table?
- 5. Comment utiliser GraphMLReader2 dans Jung?
- 6. Unir deux tables à l'aide CakePHP méthode bindModel CakePHP
- 7. Comment comparer partiellement deux graphiques
- 8. Comment compiler Jung Source?
- 9. Unir deux requêtes MySQL contenant des fonctions temps
- 10. Port JUNG dans GWT
- 11. Unir plusieurs gestionnaires d'événements Javascript
- 12. Comment obtenir une coordonnée vertex dans JUNG?
- 13. comment insérer un graphe JUNG dans VisualizationViewer
- 14. deux graphiques dans une image utilisant pchart
- 15. JUNG noeuds imbriqués
- 16. Jung avec RCP eclipse?
- 17. Deux graphiques différents dans la même parcelle
- 18. Construire jung pour eclipse
- 19. SQL unir les champs à un résultat
- 20. JUNG - sélection de bord (événements de souris)
- 21. JUNG: Custom DijkstraShortestPath
- 22. Comment obtenir une longueur d'arête JUNG?
- 23. Unir plusieurs tables (plusieurs à plusieurs)
- 24. étiquette Vertex dans la visualisation graphique JUNG
- 25. Ordre de rendu dans la visualisation graphique JUNG
- 26. JUNG: comment former des sommets sélectionnables
- 27. Unir plusieurs lignes de la même table
- 28. Performance de l'algorithme du plus court chemin dans l'API JUNG
- 29. Comment copier un graphique dans le framework JUNG 2.0?
- 30. Comment changer l'étiquette de bord d'une arête dans JUNG?
Merci, mais maintenant j'ai un autre doute. Existe-t-il un moyen d'obtenir le composant géant connecté d'un graphique ou dois-je utiliser la classe WeakComponentClusterer et parcourir tous les clusters pour trouver le géant? – Paulo
Vous trouverez une réponse à votre deuxième question sur http://stackoverflow.com/questions/7182052/jung-how-to-get-the-giant-connected-component-of-a-graph –