Un algorithme est une séquence limitée d’instructions étape par étape conçue pour résoudre un problème spécifique ou effectuer un calcul en transformant des données d’entrée en une sortie.
En informatique, les algorithmes se composent d’instructions claires qui guident les programmes informatiques pour exécuter une grande diversité de tâches allant d’opérations simples, comme trier une liste de nombres, à des processus plus complexes, comme trouver l’itinéraire le plus court entre deux lieux géographiques. Les algorithmes sont indissociables de l’informatique, du traitement des données et de la prise de décision automatisée.
Chaque algorithme comporte un point de départ et un point d’arrivée définis, et produit des résultats selon des entrées et des étapes prédéfinies. Il est possible de combiner plusieurs algorithmes pour effectuer des tâches plus sophistiquées, mais plus de complexité exige généralement davantage de ressources de calcul.
Les algorithmes peuvent être évalués selon deux critères principaux : leur justesse et leur efficacité. Le premier renvoie à la question de savoir si l’algorithme résout correctement le problème pour lequel il a été conçu, et le second concerne la quantité de ressources de calcul et le temps dont l’algorithme a besoin pour accomplir sa tâche.
Les informaticiens emploient souvent une technique d’analyse mathématique dite d’analyse asymptotique pour comparer plusieurs algorithmes, peu importe leur langage de programmation ou le matériel sur lequel ils s’exécutent. Cette approche permet d’identifier quels sont les algorithmes qui s’adaptent le plus aisément à l’augmentation de la taille des données d’entrée.
Les algorithmes valides doivent satisfaire plusieurs propriétés clés : ils doivent être limités, ce qui signifie qu’ils finissent par cesser de s’exécuter ; être déterminés, ce qui implique que chaque instruction est précise et claire ; et enfin être efficaces, ce qui exige de produire un résultat correct pour toutes les entrées valides.
Différents réseaux de blockchain peuvent utiliser des approches algorithmiques distinctes en fonction de leurs objectifs de conception, qui privilégient par exemple la vitesse, la sécurité ou une consommation électrique moins élevée. Le choix de l’algorithme peut avoir une influence décisive sur les performances et la décentralisation d’un réseau.
La vitesse à laquelle un ordinateur est capable de calculer de nouveaux hachages.
Binance Academy Editorial