Les plus petits éléments
Exercice · OCaml (option informatique), chapitre 19 — Files de priorité : le tas binaire
Énoncé
Écrire k_plus_petits arr k : la liste des k plus petits éléments de arr, triés.
Corrigé
let k_plus_petits arr k =
let n = Array.length arr in
let t = cree n in
for i = 0 to n - 1 do insere t arr.(i) done;
let rec extraire j = if j = 0 then [] else extrait_min t :: extraire (j - 1) in
extraire k
On bâtit un tas de tous les éléments, puis on en extrait les k plus petits (les premiers à sortir). Coût ; on pourrait viser avec une construction de tas en (exercice 8).
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.