Adloun

OCaml (option informatique) · Chapitre 14 · Exercice de TD

Voisins communs

Graphes : modélisation et représentations · niveau 2

Énoncé

Écrire voisins_communs m i j : le nombre de sommets voisins à la fois de i et de j.

Corrigé

let voisins_communs m i j =
  let n = Array.length m in
  let c = ref 0 in
  for k = 0 to n - 1 do
    if m.(i).(k) && m.(j).(k) then c := !c + 1
  done;
  !c

On compte les sommets k adjacents simultanément à i et à j. La matrice rend ce test direct ( par sommet), d'où un coût . (En listes, il faudrait croiser deux listes, plus laborieux.)

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre