Adloun

Graphe pondéré

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

Énoncé

Construire un graphe pondéré en listes d'adjacence (int * int) list array et écrire ajoute_arc adj u v poids.

Corrigé

let pondere_vide n = Array.make n []

let ajoute_arc adj u v poids = adj.(u) <- (v, poids) :: adj.(u)

let ajoute_arete adj u v poids =        (* non orienté *)
  adj.(u) <- (v, poids) :: adj.(u);
  adj.(v) <- (u, poids) :: adj.(v)

Chaque voisin est un couple (sommet, poids). C'est l'extension naturelle des listes d'adjacence du chapitre 14.

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.