Sobes.tech
Junior — Middle

Comment peut-on représenter et décrire les connexions et relations entre les sommets dans une structure de graphe?

sobes.tech IA

Réponse de l'IA

Les connexions et relations entre les sommets dans une structure de graphe sont généralement décrites à l'aide d'arêtes. Les principales méthodes de représentation d'un graphe :

  • Liste d'adjacence : pour chaque sommet, une liste des sommets voisins avec lesquels il est connecté. C'est une méthode efficace pour les graphes clairsemés.

  • Matrice d'adjacence : un tableau bidimensionnel où l'élément [i][j] indique la présence (et éventuellement le poids) d'une arête entre les sommets i et j. Utile pour les graphes denses.

  • Liste d'arêtes : simplement une liste de toutes les arêtes, où chaque arête contient des informations sur les sommets de départ et d'arrivée (et le poids, si présent).

Par exemple, en Java, un graphe peut être représenté ainsi :

class Graph {
    private Map<Integer, List<Integer>> adjacencyList = new HashMap<>();

    void addEdge(int from, int to) {
        adjacencyList.computeIfAbsent(from, k -> new ArrayList<>()).add(to);
        // Pour un graphe non orienté, ajouter l'arête inverse
        // adjacencyList.computeIfAbsent(to, k -> new ArrayList<>()).add(from);
    }
}

Ainsi, les connexions entre sommets sont modélisées par des arêtes, et la structure de données est choisie en fonction de la tâche et des caractéristiques du graphe.