Adloun

Valider un tri

Exercice · OCaml (option informatique), chapitre 9 — Algorithmique : les tris

Énoncé

Écrire est_permutation l1 l2 (mêmes éléments, mêmes multiplicités) en s'appuyant sur un tri, puis verifie tri l qui teste que tri l respecte la spécification complète.

Corrigé

let est_permutation l1 l2 = tri_insertion l1 = tri_insertion l2

let verifie tri l =
  let r = tri l in
  est_trie r && est_permutation r l

Deux listes sont permutations l'une de l'autre si et seulement si elles donnent la même liste une fois triées (on compare alors par égalité structurelle =). verifie vérifie les deux clauses du contrat — ordonné et permutation : c'est un test de propriété, à lancer sur des entrées variées pour gagner confiance dans une fonction de tri.

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.