Adloun

Distance entre deux sommets

Exercice · OCaml (option informatique), chapitre 16 — Plus courts chemins : Dijkstra

Énoncé

Écrire distance adj a b : int option (None si b est inatteignable).

Corrigé

let distance adj a b =
  let dist = dijkstra adj a in
  if dist.(b) >= 1_000_000 then None else Some dist.(b)

On lance Dijkstra depuis a et on lit la case b. La valeur sentinelle infini (restée inchangée) signale l'inaccessibilité, qu'on traduit en None.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.