1
CSI2510 - Paola Flocchini 1
Analyse d’algorithmes
Un algorithme est une suite d’instructions qui
sert à résoudre un problème donné dans un temps fini.
Algorithme
Entrée Résultat
CSI2510 - Paola Flocchini 2
Algorithme
Entrée
Analyser un algorithme = évaluer son efficacité
Résultat
Un algorithme est une suite d’instructions qui
sert à résoudre un problème donné dans un temps fini.
2
CSI2510 - Paola Flocchini 3
Efficacité ?
Temps d'exécution ….
Espace mémoire occupé …
Qualité du résultat ….
Simplicité ….
CSI2510 - Paola Flocchini 4
Temps d’exécution d’un algorithme
Le temps d'exécution d’un
algorithme dépend de la
taille des données d’entrée
3
CSI2510 - Paola Flocchini 5
Il dépend aussi de la nature des données à traiter (des
entrées différentes peuvent avoir des temps d’exécution
différents)
Temps d’exécution d’un algorithme
CSI2510 - Paola Flocchini 6
Temps d’exécution d’un algorithme
Le temps d'exécution d’un
algorithme dépend de la taille
des données d’entrée
Il dépend aussi des données
(diverses exécutions peuvent
avoir temps d'exécutions
diverses)
0
20
40
60
80
100
120
Temps d’exécution
1000 2000 3000 4000
Taille d’entrée
meilleur des cas
Cas moyen
Pire des cas
4
CSI2510 - Paola Flocchini 7
Si x est impair
return x
Si x est pair
calcul la somme S
des premiers x entiers
return S
15 15
410
Exemple
CSI2510 - Paola Flocchini 8
Temps d’exécution d’un algorithme
Trouver le cas moyen peut
être difficile
On se concentre souvent sur
le pire des cas.
- plus facile a analyser
- d'importance cruciale
dans certaines applications
(par ex. contrôle aérien,
chirurgie, gestion de réseau) 0
20
40
60
80
100
120
Temps d’exécution
1000 2000 3000 4000
Taille d’entrée
meilleur des cas
Cas moyen
Pire des cas
5
CSI2510 - Paola Flocchini 9
Mesurer le temps d’execution
Comment on devrait mesurer le temps d'exécution
d’un algorithme?
Approche 1: Etude Expérimental
50 100
0
t (ms)
n
10
20
30
40
50
60
CSI2510 - Paola Flocchini 10
•Étude expérimentale:
– Implémenter l’algorithme
– Exécuter le programme avec des ensembles
de données de taille et de contenu variés.
– Mesurer précisément le temps d’exécution
pour chaque cas
50 100
0
t (ms)
n
10
20
30
40
50
60
1 / 33 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !