Laurent Tichit - Licence GTSBD 1
Complexité
ou
Comment mesurer l'efficacité d'un algorithme
Laurent Tichit - Licence GTSBD 2
Efficacité?
En temps ou en mémoire (stockage)
Pourquoi?
Savoir si la durée (ou la place mémoire) croît
linéairement avec la taille des données en entrée.
Ex: si je double la quantité de mémoire de mon ordinateur
(ou la vitesse de traitement de son processeur) cela me
permettra t-il de traiter des problèmes 2x plus gros?
Comparer à d'autres algorithmes
Laurent Tichit - Licence GTSBD 3
Temps d'exécution
Sur certaines instances de vos algorithmes,
mesurer les performances
Besoin d'implémenter les algorithmes
attention: très dépendant du langage choisi
Besoin de jeux de tests réalistes
Utilisation de fonctions permettant de mesurer le
temps d'exécution, la place mémoire
Attention: difficulté de savoir ce que ces fonctions
mesurent exactement
Laurent Tichit - Licence GTSBD 4
Comparer en pratique 2 algos
implémenter les deux algorithmes
dans le même langage
en utilisant le même cadre de test (le même programme
principal)
calculer le temps passé entre le début et la fin de l'algorithme
ne pas faire d'entrées-sorties
utiliser le même ordinateur,
la même disponibilité des ressources lors des exécutions
le même jeu de test (entrées)
faire plusieurs mesures, supprimer les extrêmes, moyenner.
Laurent Tichit - Licence GTSBD 5
Somme des n premiers entiers
V1, complexité constante
V2, complexité linéraire
Lire le code
Exécuter
1 / 19 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 !