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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!