Adloun

OCaml (option informatique) · Chapitre 14 · Exercice de TD

Matrice vers listes

Graphes : modélisation et représentations · niveau 2

Énoncé

Écrire vers_listes m.

Corrigé

let vers_listes m =
  let n = Array.length m in
  let adj = Array.make n [] in
  for i = 0 to n - 1 do
    for j = 0 to n - 1 do
      if m.(i).(j) then adj.(i) <- j :: adj.(i)
    done
  done;
  adj

Pour chaque ligne i, on ajoute en tête de adj.(i) chaque colonne j marquée. Coût (on lit toute la matrice).

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre