SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Université Saad Dahleb de Blida
Faculté des Sciences
Département d’Informatique
Licence Génie des Systèmes Informatique (GSI)
Semestre 5 (3ème année)

ALGORITHMIQUE 02

CHAPITRE II:
COMPLEXITÉ ET OPTIMALITÉ
Cours n°2: 13 Octobre 2013
AROUSSI Sana
Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PLAN DU CHAPITRE II
 Définitions

 Type

de la Complexité

 Notation

 Classes
 Calcul

de de Landau

de complexité

de la Complexité

2
DÉFINITIONS


La complexité d'un algorithme est la mesure du
nombre d'opérations fondamentales qu'il effectue sur un
jeu de données. Elle est exprimée comme une fonction de

la taille du jeu de données.


Un algorithme est dit optimal si sa complexité est la
complexité minimale parmi les algorithmes de sa classe.
3
TYPE DE LA COMPLEXITÉ
Complexité au
meilleur

Complexité en
moyenne

•C'est le plus petit nombre
d'opérations

qu'aura

à

•C’est

la

complexités

moyenne
de

Complexité au
pire
des

• C’est

le

plus

grand

l’algorithme

nombre

exécuter l'algorithme sur

sur des jeux de données de

qu’aura

un jeu de données de

taille n

l’algorithme sur un jeu de

taille n.

à

exécuter

données de taille n

•Tmin(n) = mindDnT(d)



d’opérations

•Tmoy(n) = ΣdDn T(d) / |Dn|

•Tmax(n) = maxdDn T(d)

Notations:


Dn l’ensemble des données de taille n



T(n) le nombre d’opération sur un jeu donnée de taille n

4
NOTATION


La

notation

DE

LANDAU

de Landau « O » est

celle

qui

est

le

plus

communément utilisée pour expliquer formellement les performances
d'un algorithme.


Cette notation exprime la limite supérieure d'une fonction
dans un facteur constant.



Exemple: T(n) = O(n2) veut dire qu'il existe une constante c > 0 et
une constante n0 > 0 tel que pour tout n > n0 T(n) <= c n2
5
NOTATION


DE

LANDAU

Les règles de la notation O sont les suivantes :


Les termes constants : O(c) = O(1)



Les constantes multiplicatives sont omises :

O(cT ) = c O(T) = O(T)


L'addition est réalisée en prenant le maximum :
O(T1) + O(T2) = O(T1 + T2) = max(O(T1);O(T2))



La multiplication reste inchangée
O(T1)O(T2) = O(T1T2)
6
NOTATION


DE

LANDAU

Supposant que le temps d'exécution d’un algorithme est décrit par la fonction
T(n) = 3n2+10n+10, Calculer O(T(n))?

O(T(n)) = O(3 n2 + 10n + 10)
= O(max (3 n2, 10n, 10))
= O(3 n2)
= O (n2)


Remarque:
Pour n = 10 nous avons :


Temps d'exécution de 3 n2 : 3(10)2 / 3(10)2+10(10)+10 = 73,2%



Temps d'exécution de 10n : 10(10) / 3(10)2+10(10)+10 = 24,4%



Temps d'exécution de 10 : 10 / 3(10)2+10(10)+10 = 2,4%

Le poids de 3 n2 devient encore plus grand quand n = 100, soit 96,7%
On peut négliger les quantités 10n et 10.
Ceci explique les règles de la notation O.

7
CLASSES DE COMPLEXITÉ
Classe

Notation O

Exemple

Constante

O(1)

Accéder au premier élément d'un ensemble de données

Linéaire

O(n)

Parcourir un ensemble de données

Logarithmique O(log(n))

Couper un ensemble de données en deux parties égales,
puis couper ces moitiés en deux parties égales, etc.

Quasi-linéaire

O(n log(n))

Couper répétitivement un ensemble de données en deux
et combiner les solutions partielles pour calculer la
solution générale

Quadratique

O(n2)

Parcourir un ensemble de données en utilisant deux
boucles imbriquées

Polynomiale

O(nP)

Parcourir un ensemble de données en utilisant P
boucles imbriquées

Exponentielle

O(an)

Générer tous les sous-ensembles possibles
d'un ensemble de données

8
CLASSES DE COMPLEXITÉ

9
CALCUL DE LA COMPLEXITÉ
1.

Cas d'une instruction simple (écriture, lecture, affectation ) :
Le temps d'exécution de chaque instruction simple est O(1).

1.

Cas d'une suite d'instructions simples: Le temps d ’exécution

d'une séquence d'instruction est

déterminée par la règle de la

somme. C'est donc le temps de la séquence qui a le plus grand
temps d ’exécution: O(T) = O (T1 + T2) = max(O(T1);O(T2)) .

10
CALCUL DE LA COMPLEXITÉ


Exemple 2: Permutation (S: tab, i: ind, j: ind)
T1: tmpS[i]

O(1)

T2: S[i]S[j]

O(1)

T3: S[j]tmp

O(1)

T4: renvoyer S

O(1)

O(T) = max (O (T1 + T2 + T3 + T4)) = O(1)

11
CALCUL DE LA COMPLEXITÉ
3. Cas d'un traitement conditionnel: Le temps d'exécution d'une
instruction SI est le temps d ’exécution des instructions exécutées
sous condition, plus le temps pour évaluer la condition. Pour une

alternative, on se place dans le cas le plus défavorable.

12
CALCUL DE LA COMPLEXITÉ
4. Cas d'un traitement itératif : Le temps d ’exécution d'une boucle
est la somme du temps pour évaluer le corps et du temps pour
évaluer la condition. Souvent ce temps est le produit du nombre

d'itérations de la boucle par le plus grand temps possible pour une
exécution du corps.
Boucle Pour

Boule Tant que

13
CALCUL DE LA COMPLEXITÉ


Exemple 2: Recherche séquentielle (x: val, S: tab, n: taille)
i 0

O(1)

Trouve  faux

O(1)

Tant que ((i<n) et (non trouve)) faire

Condition = O(1);
nombre d’itération = n

DTQ
i i + 1

O(1)

Si (S[i] = x) alors

O(1)

Trouve  vrai

O(1)

FTQ
Renvoyer trouve

Q(1)

O(T) = max(O (1) + O (n *1) + O(1)) = O (n)

14
CALCUL DE LA COMPLEXITÉ


Exemple 3: Tri à bulle (T: Tab, n: taille)

15
SOURCES DE CE COURS


Frédéric Vivien, Algorithmique avancée, École Normale Supérieure de Lyon, 2002.,
pp. 93. Disponible sur http://perso.ens-lyon.fr/frederic.vivien/Enseignement/Algo2001-2002/Cours.pdf



Slim Msfar,

Algorithmique

et Complexité, 2012,

pp

104.

Disponible sur

http://p835.phpnet.org/testremorque/upload/catalogue/coursalgorithmi.pdf


Djamel-Eddine ZEGOUR, O-Notation, École nationale Supérieure d’Informatique,
pp

33.

Disponible

sur

http://www.zegour.netii.net/Site%20secondaire/Mcp/Cours%20ppt/1_o-notation.pdf

16

Contenu connexe

Tendances

TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du meriseYassine Badri
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmiqueHajer Trabelsi
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionLilia Sfaxi
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en cbenouini rachid
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Cours Statistique descriptive pr Falloul
Cours Statistique descriptive pr FalloulCours Statistique descriptive pr Falloul
Cours Statistique descriptive pr FalloulProfesseur Falloul
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdfSYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdfDhiaeddineabdelli
 
Procédure de contrôle qualité
Procédure de contrôle qualité Procédure de contrôle qualité
Procédure de contrôle qualité Marwoua Ben Salem
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurAbdoulaye Dieng
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheRiadh Harizi
 

Tendances (20)

TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmique
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Cours Statistique descriptive pr Falloul
Cours Statistique descriptive pr FalloulCours Statistique descriptive pr Falloul
Cours Statistique descriptive pr Falloul
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Exo pert
Exo pertExo pert
Exo pert
 
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdfSYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
SYSTEMES-INTERACTIFS-D-AIDE-A-LA-DECISION-SIAD-1.pdf
 
Procédure de contrôle qualité
Procédure de contrôle qualité Procédure de contrôle qualité
Procédure de contrôle qualité
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 

En vedette

Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueRima Lassoued
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesSana Aroussi
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statiqueSana Aroussi
 
Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole Sana Aroussi
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Sana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
chap2 outil_mathematiques
chap2 outil_mathematiqueschap2 outil_mathematiques
chap2 outil_mathematiquesBAKKOURY Jamila
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signauxBAKKOURY Jamila
 
listes chainée en JAVA
listes chainée en JAVAlistes chainée en JAVA
listes chainée en JAVAsunsaida
 
Traitement de signal -chapitre 1
Traitement de signal -chapitre 1Traitement de signal -chapitre 1
Traitement de signal -chapitre 1Samir Tabib
 
Préfaces Guide des expertes 2013
Préfaces Guide des expertes 2013Préfaces Guide des expertes 2013
Préfaces Guide des expertes 2013expertes
 
Hbo connectppt
Hbo connectpptHbo connectppt
Hbo connectpptDavid Sipe
 
Rètols mal escrits
Rètols mal escritsRètols mal escrits
Rètols mal escritsAPC18
 
programa nacional de la educacion
programa nacional de la educacionprograma nacional de la educacion
programa nacional de la educacionAdita Perez Perez
 
Pdf yv gonthier londres berlin
Pdf yv gonthier londres berlinPdf yv gonthier londres berlin
Pdf yv gonthier londres berlinyvesgonthierimages
 

En vedette (20)

Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétique
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
chap2 outil_mathematiques
chap2 outil_mathematiqueschap2 outil_mathematiques
chap2 outil_mathematiques
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signaux
 
Kruskal Algorithm
Kruskal AlgorithmKruskal Algorithm
Kruskal Algorithm
 
listes chainée en JAVA
listes chainée en JAVAlistes chainée en JAVA
listes chainée en JAVA
 
Traitement de signal -chapitre 1
Traitement de signal -chapitre 1Traitement de signal -chapitre 1
Traitement de signal -chapitre 1
 
Préfaces Guide des expertes 2013
Préfaces Guide des expertes 2013Préfaces Guide des expertes 2013
Préfaces Guide des expertes 2013
 
Hbo connectppt
Hbo connectpptHbo connectppt
Hbo connectppt
 
Rètols mal escrits
Rètols mal escritsRètols mal escrits
Rètols mal escrits
 
programa nacional de la educacion
programa nacional de la educacionprograma nacional de la educacion
programa nacional de la educacion
 
Pdf yv gonthier londres berlin
Pdf yv gonthier londres berlinPdf yv gonthier londres berlin
Pdf yv gonthier londres berlin
 

Similaire à Chapitre ii complexité et optimalité

Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite Saddem Chikh
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptxtarekjedidi
 
Cours_3_0910_2.pdf
Cours_3_0910_2.pdfCours_3_0910_2.pdf
Cours_3_0910_2.pdfSongSonfack
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéSana REFAI
 
Présentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxPrésentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxouassityoussef
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performancesm.a bensaaoud
 
Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2Daniel de Santiago Casado
 
Moulage par injection 4 pdf
Moulage par injection  4 pdfMoulage par injection  4 pdf
Moulage par injection 4 pdfKhaoula Jellouli
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
cours1-1 traitement du signal electronic.pdf
cours1-1 traitement du signal electronic.pdfcours1-1 traitement du signal electronic.pdf
cours1-1 traitement du signal electronic.pdfOllSraphin
 

Similaire à Chapitre ii complexité et optimalité (20)

Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptx
 
Cours_3_0910.pdf
Cours_3_0910.pdfCours_3_0910.pdf
Cours_3_0910.pdf
 
Cours_3_0910_2.pdf
Cours_3_0910_2.pdfCours_3_0910_2.pdf
Cours_3_0910_2.pdf
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
 
Présentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptxPrésentation Finale - Partie I.pptx
Présentation Finale - Partie I.pptx
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Correction emd2 iex04
Correction emd2 iex04Correction emd2 iex04
Correction emd2 iex04
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances
 
Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2
 
Asd1
Asd1Asd1
Asd1
 
Moulage par injection 4 pdf
Moulage par injection  4 pdfMoulage par injection  4 pdf
Moulage par injection 4 pdf
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
 
Cours1
Cours1Cours1
Cours1
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
cours1-1 traitement du signal electronic.pdf
cours1-1 traitement du signal electronic.pdfcours1-1 traitement du signal electronic.pdf
cours1-1 traitement du signal electronic.pdf
 
Gpao 6 - Ordonnancement
Gpao 6 - OrdonnancementGpao 6 - Ordonnancement
Gpao 6 - Ordonnancement
 
4 si ds1 (algo)
4 si   ds1 (algo)4 si   ds1 (algo)
4 si ds1 (algo)
 

Plus de Sana Aroussi

Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana Aroussi
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Sana Aroussi
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursSana Aroussi
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurSana Aroussi
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 

Plus de Sana Aroussi (16)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 

Dernier

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 

Dernier (16)

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 

Chapitre ii complexité et optimalité

  • 1. Université Saad Dahleb de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatique (GSI) Semestre 5 (3ème année) ALGORITHMIQUE 02 CHAPITRE II: COMPLEXITÉ ET OPTIMALITÉ Cours n°2: 13 Octobre 2013 AROUSSI Sana Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2. PLAN DU CHAPITRE II  Définitions  Type de la Complexité  Notation  Classes  Calcul de de Landau de complexité de la Complexité 2
  • 3. DÉFINITIONS  La complexité d'un algorithme est la mesure du nombre d'opérations fondamentales qu'il effectue sur un jeu de données. Elle est exprimée comme une fonction de la taille du jeu de données.  Un algorithme est dit optimal si sa complexité est la complexité minimale parmi les algorithmes de sa classe. 3
  • 4. TYPE DE LA COMPLEXITÉ Complexité au meilleur Complexité en moyenne •C'est le plus petit nombre d'opérations qu'aura à •C’est la complexités moyenne de Complexité au pire des • C’est le plus grand l’algorithme nombre exécuter l'algorithme sur sur des jeux de données de qu’aura un jeu de données de taille n l’algorithme sur un jeu de taille n. à exécuter données de taille n •Tmin(n) = mindDnT(d)  d’opérations •Tmoy(n) = ΣdDn T(d) / |Dn| •Tmax(n) = maxdDn T(d) Notations:  Dn l’ensemble des données de taille n  T(n) le nombre d’opération sur un jeu donnée de taille n 4
  • 5. NOTATION  La notation DE LANDAU de Landau « O » est celle qui est le plus communément utilisée pour expliquer formellement les performances d'un algorithme.  Cette notation exprime la limite supérieure d'une fonction dans un facteur constant.  Exemple: T(n) = O(n2) veut dire qu'il existe une constante c > 0 et une constante n0 > 0 tel que pour tout n > n0 T(n) <= c n2 5
  • 6. NOTATION  DE LANDAU Les règles de la notation O sont les suivantes :  Les termes constants : O(c) = O(1)  Les constantes multiplicatives sont omises : O(cT ) = c O(T) = O(T)  L'addition est réalisée en prenant le maximum : O(T1) + O(T2) = O(T1 + T2) = max(O(T1);O(T2))  La multiplication reste inchangée O(T1)O(T2) = O(T1T2) 6
  • 7. NOTATION  DE LANDAU Supposant que le temps d'exécution d’un algorithme est décrit par la fonction T(n) = 3n2+10n+10, Calculer O(T(n))? O(T(n)) = O(3 n2 + 10n + 10) = O(max (3 n2, 10n, 10)) = O(3 n2) = O (n2)  Remarque: Pour n = 10 nous avons :  Temps d'exécution de 3 n2 : 3(10)2 / 3(10)2+10(10)+10 = 73,2%  Temps d'exécution de 10n : 10(10) / 3(10)2+10(10)+10 = 24,4%  Temps d'exécution de 10 : 10 / 3(10)2+10(10)+10 = 2,4% Le poids de 3 n2 devient encore plus grand quand n = 100, soit 96,7% On peut négliger les quantités 10n et 10. Ceci explique les règles de la notation O. 7
  • 8. CLASSES DE COMPLEXITÉ Classe Notation O Exemple Constante O(1) Accéder au premier élément d'un ensemble de données Linéaire O(n) Parcourir un ensemble de données Logarithmique O(log(n)) Couper un ensemble de données en deux parties égales, puis couper ces moitiés en deux parties égales, etc. Quasi-linéaire O(n log(n)) Couper répétitivement un ensemble de données en deux et combiner les solutions partielles pour calculer la solution générale Quadratique O(n2) Parcourir un ensemble de données en utilisant deux boucles imbriquées Polynomiale O(nP) Parcourir un ensemble de données en utilisant P boucles imbriquées Exponentielle O(an) Générer tous les sous-ensembles possibles d'un ensemble de données 8
  • 10. CALCUL DE LA COMPLEXITÉ 1. Cas d'une instruction simple (écriture, lecture, affectation ) : Le temps d'exécution de chaque instruction simple est O(1). 1. Cas d'une suite d'instructions simples: Le temps d ’exécution d'une séquence d'instruction est déterminée par la règle de la somme. C'est donc le temps de la séquence qui a le plus grand temps d ’exécution: O(T) = O (T1 + T2) = max(O(T1);O(T2)) . 10
  • 11. CALCUL DE LA COMPLEXITÉ  Exemple 2: Permutation (S: tab, i: ind, j: ind) T1: tmpS[i] O(1) T2: S[i]S[j] O(1) T3: S[j]tmp O(1) T4: renvoyer S O(1) O(T) = max (O (T1 + T2 + T3 + T4)) = O(1) 11
  • 12. CALCUL DE LA COMPLEXITÉ 3. Cas d'un traitement conditionnel: Le temps d'exécution d'une instruction SI est le temps d ’exécution des instructions exécutées sous condition, plus le temps pour évaluer la condition. Pour une alternative, on se place dans le cas le plus défavorable. 12
  • 13. CALCUL DE LA COMPLEXITÉ 4. Cas d'un traitement itératif : Le temps d ’exécution d'une boucle est la somme du temps pour évaluer le corps et du temps pour évaluer la condition. Souvent ce temps est le produit du nombre d'itérations de la boucle par le plus grand temps possible pour une exécution du corps. Boucle Pour Boule Tant que 13
  • 14. CALCUL DE LA COMPLEXITÉ  Exemple 2: Recherche séquentielle (x: val, S: tab, n: taille) i 0 O(1) Trouve  faux O(1) Tant que ((i<n) et (non trouve)) faire Condition = O(1); nombre d’itération = n DTQ i i + 1 O(1) Si (S[i] = x) alors O(1) Trouve  vrai O(1) FTQ Renvoyer trouve Q(1) O(T) = max(O (1) + O (n *1) + O(1)) = O (n) 14
  • 15. CALCUL DE LA COMPLEXITÉ  Exemple 3: Tri à bulle (T: Tab, n: taille) 15
  • 16. SOURCES DE CE COURS  Frédéric Vivien, Algorithmique avancée, École Normale Supérieure de Lyon, 2002., pp. 93. Disponible sur http://perso.ens-lyon.fr/frederic.vivien/Enseignement/Algo2001-2002/Cours.pdf  Slim Msfar, Algorithmique et Complexité, 2012, pp 104. Disponible sur http://p835.phpnet.org/testremorque/upload/catalogue/coursalgorithmi.pdf  Djamel-Eddine ZEGOUR, O-Notation, École nationale Supérieure d’Informatique, pp 33. Disponible sur http://www.zegour.netii.net/Site%20secondaire/Mcp/Cours%20ppt/1_o-notation.pdf 16