INF4705 Analyse et conception d’algorithmes, Contrôle périodique 2
(b) Vous êtes à élaborer un système qui doit fonctionner en temps réel (le facteur temps est
primordial). Pour ce faire, vous devez choisir un (et un seul) algorithme parmi les cinq
ci-haut. Quel serait le choix le plus prometteur ? Justifiez.
Solution:
A est le choix le plus prometteur
(c) Pour chacun des 5 algorithmes ci-haut, dites, avec justification si on est assuré que son
temps d’exécution en pire cas appartient à l’ensemble suivant :
S= (O(n3)∩Ω(n2)) ∪Θ(n)
Question 2 : Analyse d’algorithme [5 points]
Soit C[1 . . . m]un tableau d’entiers tels que 0≤C[i]≤i2pour i= 1, . . . , m. Soit Tun tableau
additionnel. Considérons l’algorithme suivant :
Début.
k←0
Pour i←1jusqu’à mfaire
Pour j←1jusqu’à C[i]faire
k←k+ 1
T[k]←i
Fin
a) Exprimez le nombre exact de fois que l’instruction k←k+ 1 est exécutée.
Solution:
n=Pm
i=1 C[i]
b) Donnez l’ordre exact (notation Θ) du temps pris par cet algorithme. Votre réponse doit être
valable non seulement en pire cas, mais dans tous les cas.
Solution:
T(n) = Θ(m+n)
c) Donnez l’ordre (notation O), en fonction de m, du temps pris en pire cas par cet algorithme.
Solution:
T(n) = Θ(m+Pm
1i2) = Θ(m3)
Question 3 : Algorithmes voraces [5 points]
M. Tremblay conduit une voiture d’un point Aà un point B. Le réservoir de son auto lui permet
de parcourir une distance Dlorsqu’il est plein. Au cours de son voyage, il rencontrera kpostes où
il pourrait faire le plein. Soient dila distance pour aller du poste i−1au poste i,d1la distance du
point Aau poste 1, et dBla distance du poste kau point B(on suppose di≤Det dB≤D). M.
Tremblay veut effectuer le moins d’arrêts possibles.