Le MON-5 de Léonard
- MON
- 2022-2023
- temps 3
- Léonard Barbotteau
L'algorithmie avec Leetcode
Sources
Leetcode Article sur le site du CNRS ChatGPT
Introduction
L'écriture d'algorithmes est une compétence essentielle pour tout développeur ou informaticien. Les algorithmes sont des séquences d'instructions qui décrivent la manière de résoudre un problème, de trier des données ou d'effectuer une tâche. La connaissance des algorithmes est un élément clé de la programmation et de l'informatique en général.
Ce qu'il faut savoir avant de se lancer dans l'écriture d'algorithmes
Avant de se lancer dans l'écriture d'algorithmes, il est important d'avoir une compréhension solide des concepts fondamentaux de la programmation. Cela comprend la syntaxe de base du langage de programmation que vous allez utiliser, les structures de données telles que les tableaux, les listes et les dictionnaires.
Il est également important de comprendre les principes de base de l'analyse des algorithmes, y compris la complexité temporelle et spatiale, qui décrivent le temps et l'espace nécessaires pour exécuter un algorithme. Ces éléments font la différence entre un algorithme efficace et un algorithme mauvais qui effectuent la même tâche. La vitesse et la place que prennent l'éxecution d'un algorithme sont comparées sur Leetcode avec les algorithmes proposés par les autres utilisateurs.
Il faut être méthodique : d'abord être certain d'avoir bien compris le problème. Ensuite il est utile d'écrire notre méthode en définissant bien les structures de données à utiliser et les boucles.
Dans l'idéal, il est intéressant également de bien commenter son code et de choisir des variables bien compréhensibles, ce sur quoi je ne me suis pas concentré dans la rédaction de mes algorithmes.
Des fois, prendre une pause, c'est bien. Marcher dehors m'a permis de trouver la solution à un algorithme compliqué mais court (la difficulté résidait dans l'idée à avoir)
Les difficultés rencontrées par les débutants
J'ai rencontré plusieurs difficultés en écrivant des algorithmes, que d'autres débutants peuvent traverser. En voici quelques exemples :
-
Comprendre le problème à résoudre et savoir comment le décomposer en étapes logiques. Les problèmes peuvent sembler compliqués ou confus au début, et il peut être difficile de trouver une approche claire pour les résoudre.
-
Trouver l'approche optimale : Comme dirait Elias dans Kaamelott: "Il y a toujours au moins deux solutions à un problème". Certaines approches peuvent sembler évidentes ou faciles à comprendre, mais peuvent être beaucoup moins performantes que d'autres approches plus complexes. Et c'est très dur de s'en rendre compte.
-
Gérer les erreurs : J'ai souvent eu beaucoup de mal à identifier et à corriger les erreurs dans leur code, en particulier si les erreurs sont liées à des problèmes de syntaxe ou de structure. Les erreurs peuvent être frustrantes et peuvent prendre beaucoup de temps à corriger si elles ne sont pas identifiées rapidement. Cela demande beaucoup de patience de faire des algorithmes.
Conclusion
Bien que l'écriture d'algorithmes puisse être difficile au début, il est important de comprendre les principes de base de la programmation et de l'analyse des algorithmes pour écrire des algorithmes efficaces et performants.
Les algorithmes peuvent être utilisés dans de nombreux domaines, tels que la recherche de données, l'apprentissage automatique, l'optimisation des processus et bien d'autres encore. Les algorithmes efficaces et performants peuvent aider à résoudre les problèmes plus rapidement, à traiter de grandes quantités de données et à améliorer les performances globales de l'application ou du système.