Académique Documents
Professionnel Documents
Culture Documents
Structures de Données
Rappel :
— On dit qu’une fonction f est un grand O d’une fonction g, et on note f (x) = O(g(x)) lorsque
— Les fonctions f et g sont dites de même ordre lorsque f (x) = O(g(x)) et g(x) = O(f (x)).
Le théorème suivant est très important.
Théorème :
Si
f (x)
lim = b, et b > 0
x→+∞ g(x)
alors, f (x) = O(g(x)) et g(x) = O(f (x)) (i.e. f et g sont de même ordre).
Si
f (x)
lim =0
x→+∞ g(x)
(2) Montrer en utilisant la définition que f (n) + g(n) = O(max(f (n), g(n)).
(3) Montrer en utilisant la définition que 3n2 + 4n + 6 = O(n2 ).
Exercice 2
Soit a > 1. Montrer que loga (n) = O(n) mais que n n’est pas un grand O de loga (n).
Exercice 3
Montrer que dans la liste de fonctions ci-dessous, chaque fonction est grand O des fonctions qui
sont situées plus à droite mais n’est pas grand O des fonctions situées plus à gauche.
Exercice 4
Soit f (x) = 4x2 + 3x + 7 + 6 · 3x + 5 log(x). Trouver une fonction g(x), la plus simple possible, telle que
f (x) = O(g(x)).
Exercice 5 Complexité en fonction du temps d’exécution
Considérer les algorithmes suivantes avec un temps d’exécution T (n) pour une longueur de données
n. Déterminer leurs complexités asymptotiques relatives et les classer par ordre de grandeur croissant.
1
1 Algorithme A4 1 Algorithme A5
2 début 2 début
3 Executer A1 ; 3 pour i allant de 1 à n faire
4 Executer A2 ; 4 executer A3
5 Executer A3 ; 5 fin pour
6 fin 6 executer A1
. 7 fin
2/2