Académique Documents
Professionnel Documents
Culture Documents
1
Révision
Complexité algorithmique
Algorithmes de Tri
Les arbres
Récap, et évaluation
Hypothèses:
1. Une mesure de taille de donnée
2. Une unité d’évaluation
Temps Type de complexité Temps pour Temps pour Temps pour Temps pour n=10000 Temps pour Exemple de problème
θ( ) n=5 n=10 n=1000 n=1000000
θ(n2) Complexité quadratique 250 ns 1µs 625 µs 1s 2,8 heures Parcours de tableaux de
(polynomiale) deux dimensions
θ(n3 ) Complexité cubique 1,25 µs 10 µs 10s 2,7 heures 316 ans Multiplication matricielle
(polynomiale) non optimisée
θ(1) (indépendant
de n). Coût séquence(d) Coût Choix(d) = Coût Boucle(d) =
=∑i=1...n coût coût évaluationcondition(d) coût évaluation-condition-
instruction i(d) +
•Lecture/Ecriture, sortie(d) +
Max(coûtséquence1(d), coût séquence(d)
Comparaison,
coûtséquence2(d))
Affectation, Appel
de S/Pgme
Algorithme moyenne_de_n_nombre
Déclaration
n, somme, i, nombre : entier /* N doit être évidement ≠ 0 */
Moyenne : réel
Début
1. Lire(n )
2. somme ← 0
3. i← 1
4. Tant que i <= n faire
5. lire( nombre)
6. somme← somme + nombre
7. i ← i+1
fin tanque
8. moyenne← somme/n
fin
1 1 θ (1).
2 1 θ (1).
3 1 θ (1).
5 n nθ (1).
6 n nθ (1).
7 n nθ (1).
8 1 θ (1).
A l’étape 1, I=1
A l’étape 2, I=2*1
A l’étape 3, I= 2*2 *1
A l’étape K, I= 2K-1
…
A la fin I=N 2K-1 = N K= logN +1
3. Complexité en moyenne :
MoyA(n) = diD p(di) . coûtA(di)
où p(di) est la probabilité d'avoir en entrée la donnée di parmi toutes les données
de taille n.
Si toutes les données sont équiprobables, alors on a,
1. fact 1
3 n-1 (n-1)(1)
2. Pour i 2 à n faire
3. fact fact * i 4 n-1 (n-1)(1)
4. ii+1 5 1 (1)
Finpour
5. retourner fact Coût (n) = (1) + n(1) + (n-1)(1)+ (n-1)(1) + (1)=
Factoriel
3n(1) (n)
Fin
Chapitre 01_ALCO
Pr F. BELALA 22
Fonction factoriel (var n: entier): entier
Déclarations
Fact, i: entiers
Début
1. Si n==0 alors retourner (1)
Fsi
Soit c(n): la nombre de
Fin
multiplications effectuées dans le
calcul de factoriel(n).
On a: c(n)=c(n-1)+1, c(1)=0
Chapitre 01_ALCO Pr F. BELALA 23
Complexité d’une fonction récursive: résolution d’une équation de
récurrence qui se fait soit avec un outil de calcul formel ou avec des théorèmes
de mathématique.
Récurrence linéaire:
Par exemple, les formules de récurrences linéaires sont des équations sous la
forme:
un=a1un-1 + a2un-2 +...+akun-k
Le polynôme caractéristique associé est:
Les règles que nous utiliserons pour comparer et évaluer les algorithmes ne
sont pas tributaires des qualités d'une machine ou d'un choix de technologie.