Adloun

Le nombre exact de comparaisons

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 15 — Diviser pour régner

Énoncé

Le tableau du cours annonce , et comparaisons pour , et . Établir la formule exacte du pire cas et la vérifier.

Corrigé

Notons le nombre maximal d'appels à la comparaison sur un tableau de cases. Un appel élimine la case médiane, et laisse au plus cases : et . D'où

Vérification en instrumentant la recherche et en la lançant sur toutes les valeurs possibles, présentes et absentes :

pire cas mesuré
111
733
844
1544
1655
1010
1111

Les valeurs du cours sont donc exactes : et .

Le détail qui compte. mais : la formule saute d'une unité aux puissances de deux, pas ailleurs. Multiplier par ajoute presque exactement ; multiplier par ajoute . C'est la définition du logarithme, et c'est ce qui rend la dichotomie insensible à la taille des données.

Une conséquence pratique. Un tableau de entiers occupe gigaoctets et se cherche en comparaisons ; le simple fait de lire ce tableau une fois en coûterait . La dichotomie est plus rapide qu'un parcours de ce qu'elle cherche — c'est le seul algorithme de ce livre dont on puisse le dire.

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.