
Ann´ee scolaire 2013/2014
PCSI Informatique: Cours5
3. Evaluations
On a des complexit´es en O(1), O(log(n)), O(n), O(nlog(n), O(n2), O(nk) et O(2n).
4. Diff´erentes nuances de complexit´e
–La complexit´e au pire.
On cherche un majorant du temps d’ex´ecution, on retient le pire des cas
–La complexit´e dans le meilleur des cas
On cherche un minorant du temps d’ex´ecution, on se place dans le meilleur des cas
–La complexit´e en moyenne
On cherche le coˆut moyen de l’algorithme, On consid`ere qu’on travaille sur une situation au hasard, on
introduit la variable al´eatoire ’Coˆut’ dont on calcule la loi et l’esp´erance.
–La complexit´e en espace.
Si l’algorithme prend trop de place m´emoire, il peut avoir besoin de m´emoire que la capacit´e de m´emoire
vive allou´ee par le syst`eme d’exploitation. Une partie de cette m´emoire sera alors stock´ee sur un espace
de stockage d’acc`es moins rapide (le disque dur par exemple). Le temps que passera le syst`eme d’ex-
ploitation `a g´erer l’espace m´emoire d´egradera les performances de notre algorithme et le coˆut th´eorique
en temps ne sera plus pertinent.
Pour certains probl`emes la quantit´e des donn´ees est tr`es importante et ils important de minimiser le
temps d’acc`es `a l’information ainsi que le codage de celle-ci. Bien souvent, dans les programmes, le
gain en m´emoire se fait au d´etriment du temps d’ex´ecution et le gain en temps d’ex´ecution se fait au
d´etriment de l’espace m´emoire occup´e
Trouver un compromis
5. Complexit´e du tri `a bulles
On a une liste tde nentiers distincts, on veut trier cette liste dans l’ordre croissant
(a) Que fait la suite de commandes suivante :
for iin ra nge ( n −1):
i f t [ i ]>t [ i + 1 ]:
x=t [ i ]
t [ i ]= t [ i +1]
t [ i +1]=x
Eventuellement proposer une commande plus courte qui fait la mˆeme chose que les trois derni`eres
lignes
(b) Compl´eter le programme ci-dessous pour qu’il renvoie la liste tri´ee dans l’ordre croissant.
for . . in ran ge ( . . . . . . . . ) :
for . . in ran ge ( . . . . . . ) :
i f t[..] >t[...]:
x=t [ . . ]
t [ . . ] = t [ . . . ]
t [ . . . ] = x
(c) Combien le programme r´ealise-t-il de comparaisons quand il trie une liste tde nentiers distincts ?
(d) Combien d’´echanges pour trier la liste t=[1,2,3,4,......,n]
(e) Combien d’´echanges pour trier la liste t=[n,n-1, n-2,..........,1]
Le tri `a bulles est un tri en O(n2) les meilleurs algorithmes de tri sont en O(nlog(n)).
4