ioCode

Représentation des graphes

Graphes • Exercices 1A
  1. Écrire une fonction liste_vers_matrice : int list array -> bool array array qui renvoie la matrice d'adjacence correspondant à la liste d'adjacence donnée. Par exemple liste_vers_matrice [| [1; 2]; []; [0] |] renvoie [| [| false; true; true|]; [| false; false; false |]; [| true; false; false |] |].
  2. Écrire une fonction matrice_vers_liste : bool array array -> int list array qui renvoie la liste d'adjacence correspondant à la matrice d'adjacence donnée. Par exemple matrice_vers_liste [| [| false; true |]; [| false; false |] |] renvoie [[| [1]; [] |]].
  3. Écrire une fonction desorienter_liste : int list array -> unit qui supprime l'orientation dans un graphe fourni sous forme de listes d'adjacence. Cela transforme le graphe orienté en un graphe non orienté.
  4. Écrire une fonction desorienter_matrice : bool array array -> unit qui supprime l'orientation d'un graphe fourni sous forme de matrice d'adjacence.
  5. Écrire une fonction transposer_liste : int list array -> int list array qui renvoie la liste d'adjacence transposée. Par exemple transposer_liste [| [1]; [] |] renvoie [[| []; [0] |]].
  6. Écrire une fonction transposer_matrice : bool array array -> bool array array qui renvoie la matrice d'adjacence transposée. Par exemple transposer_matrice [| [| false; true |]; [| false; false |] |] renvoie [| [| false; false |]; [| true; false |] |].
Langage
Console initialisée. En attente de l'interpréteur...