ioCode
Représentation des graphes
Graphes • Exercices 1A
- Écrire une fonction1IndiceCréer une matrice de booléens de taille n par n puis parcourir chaque liste de voisins pour activer les cases correspondantes.
liste_vers_matrice : int list array -> bool array arrayqui renvoie la matrice d'adjacence correspondant à la liste d'adjacence donnée. Par exempleliste_vers_matrice [| [1; 2]; []; [0] |]renvoie[| [| false; true; true|]; [| false; false; false |]; [| true; false; false |] |]. - Écrire une fonction2IndiceCréer un tableau de listes vides puis parcourir la matrice pour ajouter les indices des colonnes correspondantes.
matrice_vers_liste : bool array array -> int list arrayqui renvoie la liste d'adjacence correspondant à la matrice d'adjacence donnée. Par exemplematrice_vers_liste [| [| false; true |]; [| false; false |] |]renvoie[[| [1]; [] |]]. - Écrire une fonction3IndiceParcourir chaque liste de voisins et ajouter l'arête inverse si besoin en vérifiant l'existence avec List.mem.
desorienter_liste : int list array -> unitqui supprime l'orientation dans un graphe fourni sous forme de listes d'adjacence. Cela transforme le graphe orienté en un graphe non orienté. - Écrire une fonction4IndiceParcourir la moitié supérieure de la matrice et copier les valeurs booléennes vers la position symétrique inférieure.
desorienter_matrice : bool array array -> unitqui supprime l'orientation d'un graphe fourni sous forme de matrice d'adjacence. - Écrire une fonction5IndiceCréer un nouveau tableau de listes vides puis utiliser Array.iteri pour construire les arêtes inversées.
transposer_liste : int list array -> int list arrayqui renvoie la liste d'adjacence transposée. Par exempletransposer_liste [| [1]; [] |]renvoie[[| []; [0] |]]. - Écrire une fonction6IndiceCréer une nouvelle matrice de même taille puis parcourir les indices pour échanger les lignes et les colonnes.
transposer_matrice : bool array array -> bool array arrayqui renvoie la matrice d'adjacence transposée. Par exempletransposer_matrice [| [| false; true |]; [| false; false |] |]renvoie[| [| false; false |]; [| true; false |] |].
Langage
Console initialisée. En attente de l'interpréteur...