L’analyse d’algorithmes est un domaine de l’informatique qui se consacre à la compréhension de la complexité des algorithmes. Les algorithmes sont généralement définis comme des processus qui effectuent une série d’opérations jusqu’à une fin. Les algorithmes peuvent être exprimés de plusieurs manières, dans des organigrammes, un langage naturel et des langages de programmation informatique. Les algorithmes sont utilisés en mathématiques, en informatique et en linguistique, mais une utilisation plus courante est dans les ordinateurs pour effectuer des calculs ou traiter des données. L’analyse d’algorithmes traite des algorithmes écrits dans des langages de programmation informatique, qui sont basés sur le formalisme mathématique
Un algorithme est essentiellement un ensemble d’instructions permettant à un ordinateur d’effectuer un calcul d’une certaine manière. Par exemple, un ordinateur utiliserait un algorithme pour calculer le salaire d’un employé. Pour que l’ordinateur puisse effectuer les calculs, il a besoin de données appropriées introduites dans le système, telles que le taux de salaire de l’employé et le nombre d’heures travaillées.
Plusieurs algorithmes peuvent fonctionner pour effectuer la même opération, mais certains algorithmes utilisent plus de mémoire et prennent plus de temps que d’autres. De plus, comment savons-nous si les algorithmes fonctionnent bien en général, compte tenu des différences entre les ordinateurs et les entrées de données ? C’est là qu’intervient l’analyse algorithmique.
Une façon de tester un algorithme est d’exécuter un programme informatique et de voir à quel point il fonctionne. Le problème avec cette approche est qu’elle nous indique seulement dans quelle mesure l’algorithme fonctionne avec un ordinateur particulier et un ensemble d’entrées. Le but de l’analyse d’algorithme est de tester puis de tirer des conclusions sur le fonctionnement général d’un algorithme particulier. Cela serait très difficile et prendrait beaucoup de temps à faire sur des ordinateurs individuels, alors les chercheurs conçoivent des modèles de fonctionnement informatique pour tester les algorithmes.
En général, l’analyse d’algorithmes vise principalement à déterminer le temps nécessaire à l’exécution d’un programme et l’espace de stockage dont il a besoin pour exécuter le programme. En particulier, les informaticiens utilisent l’analyse d’algorithmes pour déterminer comment les données imputées dans un programme affectent son temps d’exécution total, combien d’espace mémoire l’ordinateur a besoin pour les données de programme, combien d’espace le code du programme prend dans l’ordinateur, si un algorithme produit correctement calculs, à quel point un programme est complexe et à quel point il gère les résultats inattendus.