Nombre d'arêtes
Exercice · OCaml (option informatique), chapitre 14 — Graphes : modélisation et représentations
Énoncé
Écrire nb_aretes m (graphe non orienté représenté par matrice).
Corrigé
let nb_aretes m =
let n = Array.length m in
let c = ref 0 in
for i = 0 to n - 1 do
for j = 0 to n - 1 do
if m.(i).(j) then c := !c + 1
done
done;
!c / 2
Chaque arête {i,j} apparaît deux fois dans la matrice symétrique (m.(i).(j) et m.(j).(i)) : on compte les true et l'on divise par . (On pourrait aussi ne compter que la moitié supérieure, j > i.)
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.