Un algorithme est une méthode générale pour résoudre un type de problèmes. Il est dit correct lorsque, pour chaque instance du problème, il se termine en produisant la bonne sortie, c’est-à-dire qu’il résout le problème posé.
On mesure l’efficacité d’un algorithme notamment par sa durée de calcul, par sa consommation de mémoire vive (en partant du principe que chaque instruction a un temps d’exécution constant), par la précision des résultats obtenus (par exemple avec l’utilisation de méthodes probabilistes), sa scalabilité (son aptitude à être efficacement parallélisé), etc. L’algorithmique intervient dans la vie de tous les jours.
Une recette de cuisine peut être réduite à un algorithme si on peut réduire sa spécification aux éléments constitutifs :
-
- des entrées (les ingrédients, le matériel utilisé).
- des instructions élémentaires simples (frire, flamber, rissoler, braiser, blanchir, etc. ), dont les exécutions dans un ordre précis amènent au résultat voulu.
- un résultat : le plat préparé.