Le mot le plus fréquent
Exercice · OCaml (option informatique), chapitre 8 — Piles, files et tables de hachage
Énoncé
À partir de la table d'occurrences (exercice 6), écrire plus_frequent t qui renvoie le mot de plus grand effectif, à l'aide de Hashtbl.iter.
Corrigé
let plus_frequent t =
let meilleur = ref "" and maxi = ref 0 in
Hashtbl.iter
(fun mot n -> if n > !maxi then begin maxi := n; meilleur := mot end)
t;
!meilleur
Hashtbl.iter applique la fonction à chaque liaison (mot, n) ; on retient au passage le maximum dans deux références. L'ordre de parcours d'une table n'est pas spécifié, mais peu importe pour chercher un maximum. (Sur une table vide, la fonction renvoie "" ; on pourrait préférer un string option.)
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.