Graphe - Implémentation de graphes
Exercice 10 : Nous considérons ici les graphes ayant pour ensemble de sommets des intervalles d'entiers de la forme avec . Décrire une implémentation de ces graphes comprenant notamment les primitives usuelles en utilisant
- une matrice de booléens de taille
- un tableau de listes de sommets
Les primitives usuelles sont adjacence
, degré
, liste_voisins
.
Avec une matrice de booléens
fonction adjacence(M: matrice, sommet u, sommet v): booléen
retourne M[u][v]
fonction degré(M: matrice, sommet u): entier
n= dimension M
deg = 0
pour i de 1 à n
deg+=M[u][i]
retourner deg
fonction liste_voisins(M: matrice, sommet u):liste
n= dimension M
liste= []
pour i allant de 1 à n
si M[u][i]!=0
liste+=i
retourner liste
Avec un Tableau de listes de sommets
fonction adjacence (T: tableau, u: entier, v: entier): booléen
pour i de 1 à |T|
si T[u][i]==v
retourner Vrai
retourner Faux
fonction degré(T: tableau, u: entier): entier
retourner |T[u]|
fonction liste_voisins(T: tableau, u: entier): liste
retourner T[u]