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