Partie 2
Outils d’analyse
Outils d’analyse 53
Plan
1. Correction d’algorithmes
2. Complexit´e algorithmique
Outils d’analyse 54
Plan
1. Correction d’algorithmes
Introduction
Algorithmes it´eratifs
Algorithmes r´ecursifs
2. Complexit´e algorithmique
Introduction
Notations asymptotiques
Complexit´e d’algorithmes et de probl`emes
Complexit´e d’algorithmes it´eratifs
Complexit´e d’algorithmes r´ecursifs
Outils d’analyse 55
Analyse d’algorithmes
Questions `a se poser lors de la d´efinition d’un algorithme :
Mon algorithme est-il correct ?
Mon algorithme est-il ecace ?
Autre question importante seulement marginalement abord´ee dans ce
cours :
Modularit´e, fonctionnalit´e, robustesse, facilit´e d’utilisation, temps de
programmation, simplicit´e, extensibilit´e, fiabilit´e, existence d’une
solution algorithmique...
Outils d’analyse 56
Correction d’un algorithme
La correction d’un algorithme s’´etudie par rapport `a un probl`eme
donn´e
Un probl`eme est une collection d’instances de ce probl`eme.
IExemple de probl`eme : trier un tableau
IExemple d’instance de ce probl`eme : trier le tableau [8,4,15,3]
Un algorithme est correct pour une instance d’un probl`eme s’il
produit une solution correcte pour cette instance
Un algorithme est correct pour un probl`eme s’il est correct pour
toutes ses instances (on dira qu’il est totalement correct)
On s’int´eressera ici `a la correction d’un algorithme pour un probl`eme
(et pas pour seulement certaines de ses instances)
Outils d’analyse 57
1 / 58 100%