4. Mesurer la performance : Temps et Espace
Lors de l'évaluation d'un algorithme, nous examinons les deux principales ressources qu'il consomme :
1. Complexité temporelle (Temps d'exécution)
Cela fait référence au temps nécessaire à l'exécution d'un algorithme par rapport à la taille de l'entrée, 'N'. Nous ne mesurons pas le temps en secondes, car cela dépend de la vitesse du CPU de l'ordinateur. Au lieu de cela, nous comptons le nombre d'opérations effectuées.
2. Complexité spatiale (Utilisation de la mémoire)
Cela fait référence à la quantité de mémoire (RAM) requise par un algorithme pour s'exécuter, également par rapport à la taille de l'entrée 'N'. Cela inclut la mémoire nécessaire pour stocker l'entrée et toutes les variables temporaires ou structures de données créées pendant l'exécution.
L'Objectif
L'objectif de la conception d'algorithmes est souvent de minimiser à la fois la complexité temporelle et spatiale, bien qu'il y ait parfois un compromis (par exemple, utiliser plus de mémoire pour gagner du temps d'exécution).