L'algorithmique est à la base de l'informatique. Quoiqu'on en dise, tous ces machins à la mode (POO, XML, Java et autres délires acronymiques dont on nous rabâche les oreilles) ne sont venus que bien plus tard, quand la route était déjà tracée et que - déjà - il n'y avait plus que des broutilles à inventer.
En effet, pour faire accomplir quelque chose d'à peu près utile au tas de ferraille que vous avez devant vous, il est inutile de compter sur son esprit d'initiative. Au contraire, il faut tout lui expliquer correctement. Et en détail. Patiemment. Car, malgré les apparences, l'ordinateur le plus sophistiqué n'a pas beaucoup plus d'intelligence qu'une ancienne machine à coudre. Et à pédales encore !
J'exagère à peine. Mais pour moi, l'algorithmique - c'est à dire l'art de découper un problème complexe en tâches élémentaires - est la seule chose vraiment passionnante dans l'informatique. Cette notion d'algorithme existait bien avant l'apparition du premier dinosaure informatique. Elle est profondément enracinée dans le désir humain de transmettre des méthodes efficaces pour résoudre des problèmes. Il s'agissait, par exemple, de procédures juridiques ou mathématiques chez les anciens Grecs. De règles linguistiques chez les Romains. Et, dans toutes les civilisations, de recettes divinatoires, médicales, culinaires...
Aujourd'hui l'usage des ordinateurs a ranimé l'intérêt pour des techniques algorithmiques souvent très anciennes et délaissées par les historiens et les scientifiques modernes, plus attachés à la constitution de concepts qu'à ces "recettes de cuisine".
L'objectif de ces pages est de vous donner - au travers d'animations - un apperçu des algorithmes fondamentaux utilisés en informatique. Les algorithmes de tri, les algorithmes de jeux, les algorithmes de cryptage et quelques algorithmes de calculs de dates seront présentés. Dans l'avenir (dès que j'aurai un peu de temps) d'autres rubriques viendront s'y ajouter : les techniques de compression de données, les algorithmes arithmétiques, les algorithmes de graphes...