À retenir
- C'est une suite finie d'étapes logiques.
- Il transforme une donnée d'entrée (input) en un résultat (output).
- Il est indépendant du langage de programmation utilisé pour l'écrire.
Un algorithme est une suite d'instructions précises et ordonnées permettant de résoudre un problème ou d'accomplir une tâche. On peut le comparer à une recette de cuisine : si l'on suit scrupuleusement chaque étape avec les bons ingrédients, on obtient toujours le même résultat.
Étymologie
Le mot provient d'une déformation latine du nom du mathématicien perse Al-Khwarizmi (IXe siècle), qui a introduit les chiffres arabes et les méthodes de calcul en Europe. Historiquement, il désignait l'art de calculer avec des nombres, avant de s'étendre à toute procédure logique automatisable.
Exemples d'usage
- Le tri d'une liste de contacts par ordre alphabétique.
- Le calcul de l'itinéraire le plus court entre deux villes par un GPS.
- Le système de recommandation de films sur une plateforme de streaming qui analyse vos goûts.
Cas d'usage
Les algorithmes sont partout : dans le développement de logiciels pour traiter des données, en cybersécurité pour chiffrer des messages, en intelligence artificielle pour apprendre à reconnaître des images, ou encore dans les moteurs de recherche pour classer les pages web par pertinence.
Bonnes pratiques
Un bon algorithme doit être efficace (consommer peu de mémoire et de temps), lisible (facile à comprendre par d'autres humains) et robuste (capable de gérer des erreurs de saisie sans s'arrêter brutalement).
Synonymes
Antonymes
Conseil
Quand vous apprenez à programmer, essayez d'écrire votre algorithme sur papier avec des mots simples (en pseudo-code) avant de toucher au clavier. Cela permet de se concentrer sur la logique sans être bloqué par la syntaxe du code.
Questions fréquentes
Un algorithme est-il forcément informatique ?
Non, une recette de cuisine ou le mode d'emploi d'un meuble sont techniquement des algorithmes, même s'ils ne sont pas exécutés par une machine.
Quelle est la différence entre un algorithme et un programme ?
L'algorithme est le concept ou le plan logique, tandis que le programme est la traduction concrète de ce plan dans un langage que l'ordinateur comprend (comme Python ou C++).