Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
complexite algorithmique
1. Dr. Ammar LADJAILIA Université de Souk Ahras
Complexité algorithmique
UNIVERSITÉ DE SOUK AHRAS
FACULTÉ DES SCIENCES ET DE LA TECHNOLOGIE
DÉPARTEMENT DE MATHÉMATIQUES ET INFORMATIQUE
2. Dr. Ammar Ladjailia Université de Souk Ahras
Plan
➔ Notion de algorithme, programme, …
➔ Complexité
➔Typologies
➔Complexité des problèmes
2
3. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un algorithme
L’analyse de la complexité d’un algorithme
consiste à l’étude formelle de la quantité des
ressources (temps + espace mémoire) nécessaire
pour exécuter de cet algorithme.
4. Dr. Ammar Ladjailia Université de Souk Ahras
Notion d’un algorithme
Un algorithme décrit une suite finie, organisée et
non ambiguë des opérations élémentaires
(instructions) pour résoudre un problème posé.
5. Dr. Ammar Ladjailia Université de Souk Ahras
Quels sont les critères attendus d’un algorithme correct ?
Critères
Terminaison Fiabilité
Temps Espace
6. Dr. Ammar Ladjailia Université de Souk Ahras
Notion d’un programme
C’est la réalisation (l’implémentation) d’un
algorithme au moyen d’un langage donné
(C/C++, Java, Php,...) sur une machine (PC,
mobile, Mac, … )
7. Dr. Ammar Ladjailia Université de Souk Ahras
Problématique de l’Algorithmique
Problématique
Trouver des solutions (méthodes) exactes ou
approchées d’un problème.
Trouver des solutions efficaces (étude de la
complexité algorithmique)
8. Dr. Ammar Ladjailia Université de Souk Ahras
Problématique de l’Algorithmique
Problématique
Trouver des solutions (méthodes) exactes ou
approchées d’un problème.
Solution exacte Solution approchée
Solution exacte selon ∆
Pas de méthode générale
de résolution
(Théorie de Galois)
9. Dr. Ammar Ladjailia Université de Souk Ahras
Quels sont les critères attendus d’un algorithme correct ?
Critères
Terminaison Fiabilité
Temps Espace
10. Dr. Ammar Ladjailia Université de Souk Ahras
Terminaison d’un algorithme
✓ Étant donné un algorithme et des valeurs, la question de
sa terminaison est de savoir s’il s’arrêtera s’il prend en
entrée ces valeurs.
✓ La terminaison est une propriété fondamentale des
algorithmes.
✓ Cela signifier que le programme ne doit pas avoir la
boucle infinie.
13. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un algorithme
C’est l’étude de l’efficacité d’un algorithme de point de vue
le temps et l’espace
14. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité des entrées (Variables)
La complexité ou la taille d’une entrée est le nombre
d’octets nécessaires à sa représentation.
Complexité d’une variable booléenne
15. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité des entrées (Variables)
La complexité ou la taille d’une entrée est le nombre
d’octets nécessaires à sa représentation.
Complexité d’un entier
Taille fixe
Taille dynamique
16. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité de traitements (Instructions)
Un programme est un objet qui à partir de toutes entrées
permet d’exécuter des instructions en consommant deux
ressources :
• Le temps : Le nombre des instructions élémentaires à
exécuter.
• L’espace : C’est l’espace nécessaire pour l’exécution d’un
programme.
17. Dr. Ammar Ladjailia Université de Souk Ahras
Instruction élémentaire
Une instruction est dite élémentaire si elle peut être
exécutée en un temps fixe.
18. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un algorithme
Séquence d’instructions
19. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un algorithme
Instructions conditionnelles
20. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un algorithme
Instruction d’itération finie bornée
21. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un algorithme
Instruction d’itération finie non bornée
25. Dr. Ammar Ladjailia Université de Souk Ahras
Typologies de la complexité
Complexité en meilleur des
cas : O(1)
Complexité en moyen des
cas : O(log2(n))
Complexité en pire des cas :
O(n)
26. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité d’un problème
Il n’existe pas une méthode générale pour
calculer la complexité d’un programme,
mais on cherche la classe à laquelle elle
appartient.
29. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité : Tri à bulle
Un tri est une opération de classement d’éléments d’une
liste selon un ordre total défini.
Le tri à bulles ou tri par propagation est un algorithme de
tri. Il consiste à comparer répétitivement les éléments
consécutifs d’un tableau, et à les permuter lorsqu’ils sont
mal triés.
30. Dr. Ammar Ladjailia Université de Souk Ahras
Complexité : Tri à bulle
Le tri à bulles ou tri par propagation est un algorithme de
tri. Il consiste à comparer répétitivement les éléments
consécutifs d’un tableau, et à les permuter lorsqu’ils sont
mal triés.