Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Rappels
Définition d’une structure de données
Moyen de stocker et organiser des données pour faciliter
l’accès à ces données
leur modification
Aucune structure de données répond à tous les besoins
Important de connaître les forces et les limitations de
plusieurs de ces structures
Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Efficacité d'un algorithme
Pourquoi évaluer l’efficacité d’un algorithme ?
Le ordinateurs ne sont pas infiniment rapides
La mémoire n’est pas gratuite
Utiliser des algorithmes performants en terme
de durée : temps d’exécution
d’encombrement : mémoire
Évaluer l’efficacité d’un algorithme = Analyser
l’algorithme
Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Efficacité d'un algorithme
Comment analyser un algorithme ?
Prévoir les ressources nécessaires à cet algorithme :
temps de calcul
En analysant plusieurs algorithmes résolvant le problème
on arrive à identifier le plus efficace
Pour analyser un algorithme il faut avoir un modèle
de technologie : une architecture
Modèle de Von Neuman : Modèle RAM
Un seul processeur
Une mémoire centrale : RAM
Une exécution séquentielle des instructions
Université de Corse - IUP NTIC2 2005/2006 – Algorithmes et Structures de Données
Efficacité d'un algorithme
Si on veut être strict, il faut définir précisément les
instructions du modèle RAM et leur coût
C’est possible mais ça n’apporterait pas grand chose en
matière de conception et d’analyse d’algorithme
Le modèle RAM contient les instructions suivantes
Instructions arithmétiques : + - * / % ..
Instructions de transfert de données : lecture, stockage,
copie ..
Instructions de contrôle
Chacune des instructions possède un temps d’exécution
constant