Universit´e de Sherbrooke
IFT 436 - Algorithmes et structures de donn´ees
Devoir #3
Ces exercices sont `a remettre le mardi 23 juillet apr`es le cours.
•Il est `a noter que 5% de la note pourra ˆetre d´eduit pour la pr´esentation du devoir.
•Ces exercices doivent ˆetre faits en ´equipe d’au moins deux personnes (vous pouvez
utiliser les mˆemes groupes que le Devoir #1). Veuillez communiquer avec moi si
vous n’avez pas de co´equipier.
•Ce devoir compte pour 10% de la note finale.
•Pour ce devoir et concernant la description des algorithmes, donner juste une des-
cription concise pour chaque ´etape (pas de pseudo-code).
1 Conception des algorithmes (40 pts)
Exercice 1 (10 pts)
Soit une matrice carr´ee contenant n×nnombres. Chaque ligne et chaque colonne est tri´ee en ordre
croissant, comme illustr´e dans l’exemple suivant (n= 3) :
1 2 30
16 21 31
17 22 33
– D´ecrivez un algorithme qui d´etermine si un nombre xest dans la matrice en O(n).
– Donner en fonction de Θ l’ordre asymptotique exacte du temps d’ex´ecution de votre algorithme ?
Exercice 2 (10 pts)
´
Elaborer un algorithme vorace optimale qui trouve le temps minimum requis afin de servir un
groupe de nclients. Chaque client n´ecessite un certain temps t(i)∈Nafin d’ˆetre servi. Vous pouvez
servir les clients dans n’importe quel ordre. Il est `a noter que lorsque vous servez un client, les autres
attendent. Ainsi, le temps total d’attente pour un ordonnancement particulier de nclients est :
n−1
X
i=1
(n−i)×t(i)
Expliquer de quelle mani`ere cet algorithme exhibe la propri´et´e du choix vorace .
Quel est l’ordre asymptotique du temps d’ex´ecution de votre algorithme ?
1