Apprendre l’algorithmique : cas d’étude d’un algorithme

Vous apprenez à programmer et vous cherchez à développer vos compétences en algorithmique ? C’est très bien car la création d’algorithmes est le cœur du métier de développeur.

Objectif de cet article

Dans ce billet vous allez apprendre à concevoir un algorithme à partir de zéro.

Vous allez suivre mon raisonnement de A à Z pour résoudre un exercice moyennement difficile : l’exercice 3 de la saison 15 de la BattleDev, un concours de programmation.

Au travers de cet exemple très concret, vous apprendrez à penser comme un développeur en étant en quelque sorte dans mon cerveau pendant que je résous l’exercice.

L’objectif est d’utiliser un cas pratique comme exemple pour illustrer les différentes phases théoriques de la construction d’un algorithme.

Je vais vous enseigner une méthode simple et structurée que vous pourrez appliquer à n’importe quel problème algorithmique pour le résoudre.

Dès maintenant, vous pouvez télécharger tous les algorithmes et leur implémentation en JavaScript (fichier ZIP) qu’on va créer dans ce billet pour les modifier à votre guise.

Notez que j’ai utilisé des instructions de base (boucles classiques, affectations simples etc.) pour l’implémentation en JavaScript car cet article s’adresse aux débutants en programmation.

Je veux montrer que même avec les outils de base du langage on peut déjà résoudre des exercices complexes. Vous ne trouverez donc pas de destructuring, de fonctions fléchées, ni de map(), filter(), reduce() et autres joyeusetés dans mon code, c’est fait exprès !

Merci donc de vous abstenir de me dire que je peux rédiger mon code de façon plus concise et plus moderne, je le sais ! Mais ce n’est pas l’objectif ici 😘.

Si vous voulez aller plus loin, je vous invite à suivre le module algorithmique de ma formation JavaScript. Vous y apprendrez à rédiger du pseudo-code pour structurer votre pensée et résoudre des problèmes de plus en plus complexes. Rassurez-vous on commencera avec des problèmes bien plus faciles que celui que je vous présente ici !