Deux implémentations des graphes sont couramment utilisées ; le choix se fait en fonction des opérations que l'on veut faire, et de la densité du graphe, c'est-à-dire du rapport entre le nombre d'arcs et le nombre de sommets.
La matrice d'adjacence MG d'un graphe G est une matrice carrée, indicée par les sommets (donc de dimension
public class GrapheParMatrice implements Graphe { private Arc[][] adjacence; public GrapheParMatrice(int taille) { adjacence = new boolean[taille][taille]; } // ... }
L'ensemble d'adjacence d'un sommet u est l'ensemble LG[u] des arcs
public class GrapheParListe implements Graphe { private Set[] adjacence; public GrapheParListe(int taille) { adjacence = new HashSet[taille]; for (int i = 0; i < taille; i++) adjacence[i] = new HashSet(); } // ... }
Aucun commentaire:
Enregistrer un commentaire