xExercice 3. Complexit´e
Pour chacune des deux repr´esentations, comment fait-on pour:
1. tester si une arˆete (i, j) est dans le graphe,
2. ajouter une arˆete (i, j) dans le graphe,
3. compter le nombre d’arˆetes partant d’un sommet,
4. compter le nombre d’arˆetes,
5. compter le nombre d’arˆetes arrivant sur un sommet.
Indiquez la complexit´es de ces op´erations en fonction du nombre Ad’arˆetes et Sde sommets.
xExercice 4. Changement de structure
Ecrivez les algorithmes pour passer d’une repr´esentation par liste d’adjacence `a une
repr´esentation matricielle et r´eciproquement. Indiquez leur complexit´e.
xExercice 5. Test de connexit´e
Pour les deux types de repr´esentation d’un graphe non-orient´e, ´ecrivez un algorithme qui
teste s’il est connexe.
xExercice 6. Graphe de la matrice transpos´ee
Soit Gun graphe repr´esent´e par sa matrice d’adjacence M. Que peut-on dire du graphe tG
repr´esent´e par la transpos´ee tMde M? Quel est l’algorithme pour calculer tG. Proposez
ensuite un algorithme pour calculer tGquand Gest repr´esent´e par des listes d’adjacence.
xExercice 7. Produit Matriciel
On consid`ere une repr´esentation matricielle Md’un graphe. A quoi correspond la matrice
M2=M×M? A quoi correspond M3? Peut-on se servir de cette propri´et´e?
xExercice 8. Trou Noir
Un trou noir est un sommet dont aucun arc ne part et tel que tous les autres sommets ont
un arc les reliant `a lui. Proposez un algorithme lin´eaire en le nombre de sommets (c-`a-d en
O(|S|) ) qui trouve l’´eventuel trou noir d’un graphe repr´esent´e par sa matrice d’adjacence.
2