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
- Graphe biparti corrigé
- Plus court chemin (reconstruit) corrigé
- DFS itératif avec pile explicite corrigé
- Parcours en profondeur corrigé
- Parcours en largeur corrigé