J'ai travaillé sur le problème suivant où, j'ai un fichier CSV avec deux colonnes, nous pouvons dire que les noms classés sont "amis". Les deux colonnes contiennent des lettres de A à Z. par ex.Algorithme pour la structure de graphe/de données sur Java
A B
B C
A E
D F
E F
Chaque ligne a deux lettres différentes (pas de duplication dans la rangée). A est un ami de B, C est un ami de D etc ... Si la personne A parle à la personne B et la personne B parle à la personne C, alors B et C deviendront des aquitances. Aquintaces sont qui partagent un ami commun. J'ai besoin d'aileron qui a plus d'aquintances?
J'ai essayé avec deux méthodes différentes en utilisant des structures de données différentes comme hashmap, arraylist, stack etc, et une autre utilisant la théorie des graphes (bibliothèque JGraphT). Mais, je suis bloqué avec la logique si j'utilise des strcutres de données et je suis coincé avec traversal dans le graphique si j'utilise la théorie des graphes.
J'ai des questions suivantes: -
- Quelle est la meilleure approche pour aller avec des structures de données ou graphique? Ou une autre meilleure approche/logique/algorithme que cela?
- Est-ce que quelqu'un sait comment parcourir un graphe dans la bibliothèque JgraphT? Je suis pas en mesure de le faire, ils ont une documentation très limitée sur la bibliothèque.
S'il vous plaît, toute aide serait vraiment appréciée.