Exercice 2. Recherche dichotomique
La recherche dichotomique est un algorithmique de type diviser pour régner qui cherche l’em-
placement d’un entier dans un tableau de taille ntrié par ordre croissant. Cette algorithme
compare l’entier en position bn
2cdu tableau à l’entier recherché et selon le résultat :
– soit la recherche s’arrête ;
– soit on procède récursivement sur le sous-tableau [1,...,bn
2c − 1] ;
– soit on procède récursivement sur le sous-tableau [bn
2c+ 1, . . . , n].
.Écrivez un algorithme mettant en oeuvre la recherche dichotomique et donner la complexité
de cet algorithme dans le pire cas.
Exercice 3. Deuxième plus grand élément
Considérons une liste qui n’est pas trié. Nous cherchons le deuxième plus grand élément de la
liste.
1. Proposer un algorithme naïf résolvant ce problème. Donnez la complexité exacte de cette
algorithme.
Maintenant, pour trouver le deuxième plus grand élément, nous allons utiliser un tournoi. On
regroupe les entiers par paquets de deux et pour chaque paquet, le plus petit est éliminé. On
recommence l’opération juste ce qu’il n’en reste plus qu’un. On suppose que la liste est de
taille n= 2k.
2. Comment trouver le deuxième plus grand élément une fois le tournoi terminé?
3. Donner la complexité exacte de cet algorithme.
Exercice 4. Tri simple
Considérons maintenant un tableau Tde taille ndont les élément du tableau sont compris
entre 1et n(un même entier peut apparaître plusieurs fois). Le tri simple consiste à créer un
tableau où la case d’indice icontient le nombre d’occurrences de idans T. Ce tableau est
ensuite utilisé pour créer le tableau de sorti.
1. Ecrire un algorithme mettant en oeuvre le tri simple.
2. Quelle est la complexité du tri simple.
2