Qu’est-ce que l’algorithmique ? Efficacité d’un algorithme Problème du nombre manquant Conclusion
Efficacité d’un algorithme - 1
Un programme est la mise en œuvre d’un algorithme sur ordinateur
Les performances d’un programme dépendent de plusieurs facteurs :
La vitesse de l’ordinateur sur lequel l’algorithme est mis en œuvre,
le langage de programmation utilisé pour sa mise en œuvre,
l’efficacité intrinsèque de l’algorithme !
Deux types d’efficacité d’un algorithme
Complexité en temps : Temps consommé par l’algorithme pour résoudre le problème.
Plus un algorithme est rapide, plus il est attractif !
Complexité en espace : Quantité de mémoire consommée par l’algorithme pour résoudre le
problème.
Moins un algorithme consomme de mémoire, plus il est attractif !
Très souvent, on sera amené à trouver un compromis entre la
consommation mémoire et le temps d’exécution.
O. Delgrange (UMONS) Algorithmique et efficacité 31 mars 2011 6 / 30
Qu’est-ce que l’algorithmique ? Efficacité d’un algorithme Problème du nombre manquant Conclusion
Efficacité d’un algorithme - 2
Comment évaluer le temps d’exécution ? ? ?
Utilisation du chronomètre : Arbitraire ! ! ! : cela dépend de l’ordinateur sur lequel l’algorithme est
implémenté, du langage utilisé, des autres tâches que l’ordinateur réalisait au
même moment...
Inacceptable pour juger de la qualité d’un algorithme !
On s’intéresse plutôt à l’évolution du temps d’exécution lorsque la taille du
problème grandit : on parle de la complexité en temps de l’algorithme.
Question : Si mon algorithme résout le problème P, de taille nen un temps Tsur mon
ordinateur, combien de temps faudra t’il à mon algorithme pour résoudre une
instance deux fois plus grosse du même problème (de taille 2n), sur le même
ordinateur ? ? ?
Question : Si j’achète un ordinateur deux fois plus rapide, est-ce que mon algorithme
résoudra un problème deux fois plus gros dans le même temps ?
Réponse : Tout cela dépend de la complexité en temps de l’algorithme ! ! !
O. Delgrange (UMONS) Algorithmique et efficacité 31 mars 2011 7 / 30