TD d'algorithmique avancée

Page 1 sur 1Lecteur de document UniversityLib

TD d'algorithmique avancée

Programming, Algorithms, Complexity Analysis · lab

Voir tous les documents en programmation

TD d’algorithmique avancée

TD 1 : recherche par rang

Jean-Michel Dischler et Frédéric Vivien

Recherche du maximum

1. Concevez un algorithme de recherche du maximum dans un ensemble à n éléments (vous disposez en

tout et pour tout d’une fonction de comparaison).

2. Quelle est la complexité de votre algorithme en nombre de comparaisons ?

3. Montrez qu’il est optimal.

Recherche du deuxième plus grand élément

Publicité

Nous supposerons ici que l’ensemble considéré ne contient pas deux fois la même valeur.

1. Proposez un algorithme simple de recherche du deuxième plus grand élément.

2. Quel est sa complexité en nombre de comparaisons ?

3. Récrivez votre algorithme de recherche du maximum sous la forme d’un tournoi (de tennis, de foot,

de pétanque ou de tout autre sport). Il n’est pas nécessaire de formaliser l’algorithme ici, une figure

explicative sera amplement suffisante.

4. Dans combien de comparaisons, le deuxième plus grand élément de l’ensemble a-t-il été trouvé être le

plus petit des deux éléments comparés ?

5. Proposez un nouvel algorithme de recherche du deuxième plus grand élément.

Publicité

6. Quelle est sa complexité en nombre de comparaisons ?

Recherche du maximum et du minimum

Nous supposerons ici que l’ensemble considéré ne contient pas deux fois la même valeur.

1. Proposez un algorithme na¨ıf de recherche du maximum et du minimum d’un ensemble de n éléments.

2. Quelle est sa complexité en nombre de comparaisons ?

3. Proposez un algorithme plus efficace.

Indication : dans une première phase les éléments sont comparés par paire.

4. Quelle est sa complexité en nombre de comparaisons ?

5. Montrez que cet algorithme est optimal.

Publicité

Indication : on appelle unité d’information :

– l’information « l’élément x ne peut pas être le plus grand élément » ;

– l’information « l’élément x ne peut pas être le plus petit élément ».

(a) Quel est le nombre minimal d’unités d’information qu’un algorithme de recherche du maximum

et du minimum doit produire pour nous garantir la validité de son résultat ?

(b) Combien d’unités d’information sont produites par la comparaison de deux éléments (distinguez

des cas, suivant que l’on a ou non des unités d’informations sur ces valeurs).

(c) Concluez.