La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.

Présentations similaires


Présentation au sujet: "L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la."— Transcription de la présentation:

1 L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la mémoire pour contenir et manipuler le programme et ses données. L'objet de l'analyse de la complexité est de quantifier les deux grandeurs physiques "temps d'exécution" et "place mémoire", dans le but de comparer entre eux différents algorithmes qui résolvent le même problème. 1

2 Il faut déterminer quelle mesure utiliser pour calculer ces deux quantités. pour le temps : le nombre d'opérations effectuées et le temps nécessaire pour chaque opération. pour la place : le nombre d'instructions et le nombre des données du programme, avec le nombre de mots mémoire nécessaires pour stocker chacune d'entre elles, ainsi que le nombre de mots mémoire supplémentaires pour la manipulation des données. Pour la complexité en temps le plus important c'est le nombre des opérations élémentaires, la notion de complexité devient importante quand la taille des données devient très grande. 2

3 Règle de calcul de complexité des expressions a)n 3 + n 2 + n 3 *log 2 n n 3 *log 2 n domine d'où la complexité est O(n 3 *log 2 n ) b) n + 4n + 4 n 4 n domine, d'où la complexité est O(4 n ) 3

4 Complexité constante O(1) Algorithme 72 : somme_suite (n : entier): entier Donnée : entier n Résultat : entier Variable locale : entier som début som  n * (n+1) div 2 retourner som fin Le temps ne dépend pas de n. 4

5 5 Complexité linéaire O(n) Algorithme 73 : recherche_tableau (tab: tableau, n : entier, but: T): booléen Donnée : but de type T Donnée : le tableau tab d’éléments de type T Donnée : la taille n du tableau tab Résultat : booléen Variable locale : booléen trouve qui indique si la valeur a été trouvé Variable locale : entier i, indice du tableau début trouve  faux i  1 TANT QUE non trouve et i<= n SI tab[i] = but ALORS trouve  vrai SINON i  i + 1 fin retourner trouve Fin Dans le pire des cas les opérations à l'intérieur de TANT QUE sont exécutées n fois.

6 6 Complexité logarithmique O(log n) Recherche dichotomique dans un tableau trié Algorithme 74 : recherche_tableau_dicho (tab: tableau, n : entier, but: T): booléen Donnée : but de type T Donnée : le tableau tab d’éléments de type T Donnée : la taille n du tableau tab Résultat : booléen Variable locale : booléen trouve qui indique si la valeur a été trouvé Variable locale : déb l’indice du premier élément du sous-tableau traité Variable locale : fin l’indice du dernier élément du sous-tableau traité Variable locale : milieu l’indice du milieu du sous-tableau traité

7 début trouve  faux déb  1 fin  n TANT QUE non trouve et déb <= fin FAIRE milieu  (début + fin) div 2 SI but < tab[milieu] ALORS fin  milieu – 1 SINON SI but > tab[milieu] ALORS début  milieu + 1 SINON trouve  vrai fin retourner trouve fin 7

8 Ex. tab = (10, 12, 13, 15, 16, 19, 21, 25, 31) but = 15 1. milieu = 5 tab[5]= 16>15 2. fin = 4 milieu = 2 tab[2] = 12 < 15 3. début = 3 milieu = 3 tab[3] = 13 <15 4. début = 4 milieu = 4 tab[4]=15 8

9 but = 24 1. milieu = 5 tab[5]= 16<24 2. début = 6 milieu = 7 tab[7] = 21<24 3. début = 8 milieu = 8 tab[8] = 25 >24 4. fin = 7  fin < début 9

10 Complexité polynomiale quadratique O(n 2 ) Tri à bulles Algorithme 75 : tri_a_bulles (tab: tableau, n : entier): booléen Donnée : taille du tableau n Donnée modifiée : tableau tab d’éléments de type T Variable locale : booléen ech qui indique si un échange a eu lieu Variable locale : i indice dans le tableu Variable locale : k compteur des parcours Variable locale : tmp de type T permettant de faire un échange 10

11 début ech  vrai k  -1 TANT QUE k < n et ech FAIRE k  k + 1 ech  faux POUR i = 1 à n – k – 1 FAIRE SI tab[i] < tab[i + 1] temp  tab[i] tab[i]  tab[i+1] tab[i+1]  temp ech  vrai fin 11


Télécharger ppt "L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la."

Présentations similaires


Annonces Google