ROB3 – Algorithmique page 5
Q 3.3 On v´erifie facilement que la complexit´e de l’op´eration de fusion reste inchang´ee. Ecrire l’´equation de
r´ecurrence v´erifi´ee par T(n) pour cette nouvelle m´ethode de produit matriciel. En d´eduire la complexit´e.
1.5/20
Exercice 4 (5 pts)
On consid`ere dans cet exercice un tableau T= [1 . . . n]unimodal dont les ´el´ements sont tous distincts. Un tableau
est dit unimodal si ses ´el´ements commencent par croˆıtre jusqu’`a atteindre un maximum, puis d´ecroissent. C’est
par exemple le cas du tableau suivant :
1 4 9 14 16 18 10 3 2
On vise `a d´eterminer l’´el´ement maximal de Ten utilisant un algorithme r´ecursif TernarySearch(T, i, j), dont
l’appel initial est TernarySearch(T, 1, n). Le cas d’arrˆet est lorsque j−i+ 1 ≤3 (autrement dit, le sous-
tableau consid´er´e ne comporte pas plus de 3 cases), auquel cas on retourne le max (d´etermin´e en temps constant)
de T[i..j]. Dans les autres cas, on r´ealise un appel r´ecursif sur un sous-tableau. Le choix du sous-tableau se fait
en consultant les valeurs T[m1] et T[m2], o`u m1=i+b(j−i+ 1)/3cet m2=j− b(j−i+ 1)/3c.
Q 4.1 Indiquer l’appel r´ecursif `a r´ealiser dans chacun des deux cas suivants (justifier la r´eponse) :
i)T[m1]> T [m2],
ii)T[m1]< T [m2].
2/20