Adloun

OCaml (option informatique) · Chapitre 15 · Application directe du cours

Sommets accessibles

Parcours de graphes · niveau 1 (application)

Énoncé

Écrire accessibles adj depart renvoyant le tableau vu (vu.(i) = i atteignable depuis depart).

Corrigé

let accessibles adj depart =
  let n = Array.length adj in
  let vu = Array.make n false in
  let rec visite s =
    if not vu.(s) then begin
      vu.(s) <- true;
      List.iter visite adj.(s)
    end
  in
  visite depart;
  vu

Le tableau vu en fin de parcours marque exactement les sommets atteignables. On a retiré l'accumulation de l'ordre : seule l'atteignabilité importe.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre