ioCode
Réprésentation
Graphes • Exercices 1A
L'objectif de cet exercice est de manipuler les différentes représentations possibles des graphes :
- listes d'adjacence,
- matrice d'adjacence.
- Écrire une fonction1IndiceInitialiser une matrice carrée de zéros puis parcourir chaque liste de voisins pour affecter la valeur 1.
ladj_to_madj_l(g)qui renvoie la matrice d'adjacence correspondant à la liste d'adjacenceg. Celle-ci est constituée de 0 (pas d'arête) et de 1 (une arête). Par exempleladj_to_madj_l([[1, 2], [0], [0]])renvoie[[0, 1, 1], [1, 0, 0], [1, 0, 0]]. - Écrire une fonction2IndiceCréer une liste de n listes vides puis parcourir la matrice pour ajouter les indices des colonnes non nulles.
madj_to_ladj(g)qui renvoie la liste d'adjacence correspondant à la matrice d'adjacenceg. Par exemplemadj_to_ladj([[0, 1], [1, 0]])renvoie[[1], [0]]. - Écrire une fonction3IndiceCréer une matrice de même dimension puis échanger les indices de lignes et de colonnes : .
transpose_m(g)qui renvoie la matrice transposée de la matrice d'adjacenceg. Par exempletranspose_m([[0, 1, 0], [0, 0, 1], [0, 0, 0]])renvoie[[0, 0, 0], [1, 0, 0], [0, 1, 0]]. - Écrire une fonction4IndiceInitialiser une liste de n listes vides puis parcourir chaque sommet et ses voisins pour ajouter le sommet courant.
transpose(g)qui renvoie la liste d'adjacence du graphe transposé correspondant àg. Par exempletranspose([[1], [2], []])renvoie[[], [0], [1]].
Langage
Console initialisée. En attente de l'interpréteur...