Les Structures de données : la chose la plus importante à connaitre dans tout langage de programmation.
Beaucoup de débutant on du male à partir quand ils abordent l'étude d'un langage de programmation, certains naivement, pensent qu'ils peuvent maitriser complètement un langage de programmation, ce qui mathematiquement n'est pas impossible mais c'est complexe et parfois ne vaut meme pas la peine car comme j'ai toujours dit dans mes posts, les langages de programmation ne sont pas statiques, mais dynamiques dans la mesure ou les concepteurs sont tous les jours au four et au moulin pour apporter des modifications et du coup d'une version à l'autre de ces langages de programmation, parfois il faut ré-apprendre presque tout, prenez par exemple PHP de la version 5 à la version 8 de maintenant ou il y a la OOP, à 100% beaucoup de choses sont differentes et parfois ils ne sont meme pas compatibles, donc ceci veut dire que, qui connaissait et maitrisait très très bien PHP 5 il y a 8 ans et ne s'est pas mis à jour pour ré-apprendre php 8 est directement presque hors circuit ou obsolète en PHP... ! vous avez bien compris ça? et c'est la meme chose partout, par exemple javascript est standardisé par ecmascript et voici les differentes version de ecamscript =>ES1, ES2, ES3, ES5, and ES6, ces versions sont parfois incompatibles entre elles, heureusement qu'il y a les framework parfois pour nous le cacher et diminuer les problèmes qu'on peut rencontrer de navigateur en navigateur car le meme code javascript que vous ecrivez en ES1 vous ne pouvez pas l'executer dans un navigateur qui s'attend à voir du ES6 raison pour laquelle est née les langages comme typscript.
Ceci étant dit quand on aborde un langage de programmation, inutile de lire 2000 page d'un livre pour chercher à maitriser tout, ce n'est pas la methodologie correcte, quand on veut apprendre un langage on doit proceder comme suit:
1. un peu de theorie rapide sur ce langage: quel est sont ses objectifs? qu'est ce qu'il cherche à résoudre ? quels sont les bibliothèques et framework tout autour de ce langage.
2.Les syntaxes de ce langage : les langages diffèrent juste par leur syntaxes (comment on fait la boucle while, le cycle for, le cycle foreach, le if, comment on declare une variable, est ce qu'il y a des point virgule pour passer à la ligne successive etc.. etc.. )
3. Connaitre l'implementation des structures de données de ce langage: vous devez au préalable comprendre en generale ce que sont les structures de données independement du langage et c'est l'objet de ce post, vous devez comprendre quels sont les types de variables et comment on les déclare, vous devez comprendre quelles sont les structures de données dans les bibliothèques de ce langage et les opérations implementées.
4. Comprendre comment la programmation orientée objet est appliquée dans ce langage (j'ai fait exclusivement un post ici pour vous parlez de la OOP)
======> Les Structures de données <==========
j'ai parlé dans mon blog avec exemple à l'appui des structures de données et des algorithmes tout est dit dedans et prenez la peine de le lire :
Au fait sans structures de données, la programmation ne servirait absolument à rien, car la programmation sert uniquement à appliquer des algorithmes pour manipuler les données, ces données peuvent etre stockées dans ce qu'on appelle des variables et ces variables sont en fait des cases memoires que nous en tant que developpeur, on reserve pour stocker les données ou mieux les data(en anglais), que nous voulons manipuler et ainsi appliquer la logique que veut notre application, cette logique peut etre celle de visualiser un menu deroulant, verifier si un utilisateur qui a fait un login existe dans notre BDD, verifier en javascript si tous les champs de notre formulaire sont correctement remplis etc. etc.. et le plus souvent, on a des variables qui doivent etre stockées les uns après les autres de manière contigue ou non ceci parcequ'on veut appliquer un algorithme precis dans le but d'obtenir un resultat avec beaucoup plus d'efficacité, c'est de là ou nait les structures de données qui permettent d'indiquer à l'ordinateur comment on pense structurer nos données en mémoire dans l'optique de bien les utiliser dans nos different algorithme. Les structures de données importantes à savoir dans tout langage de programmation sont:
==> Les Array ou tableau ou vecteur (image 1): c'est une structure linéaire, les données sont stockées les uns après les autres, on doit chercher à connaitre les differentes opérations mis à disposition dans ce langage pour manipuler un array/tableau, par exemple rechercher un element, eliminer, ajouter etc..
==> Les liste chainées (Linked list) en image 2 : ce sont des structures de données qui ne sont pas sequencielle en mémoire, donc pas contigues
==>Les piles (Stacks) et les Queux (Queues) images 3 : la première structure stack a cette particularité que pour faire des élaborations sur elle, on doit commencer par le dernier élement inserrer LIFO(Last in First Out en anglais), alors pour la Queue, c'est on commence par le premier element inserrer (FIFO first In First Out)
==>Les arbres (trees): en image 4, c'est une structure de données très très interessante quand on veut faire des recherches mirées car avec un algorithme bien construit on peut decider de parcourir juste certaines branches et d'autres ne sont meme pas visitées ce qui augmente les performances de notre application, il faut donc comprendre comment ce langage a mis sur pied ce type de structure de données.
=>Les graphes en image 5 : chercher comment sont fait les graphes, c'est une structures de données utilisée pour beaucoup de choses par exemple le chemin le plus cour, si vous avez un projet qui doit utiliser google map pour aider les utilisateurs à retrouver une destination en trouvant le chemin le plus court, cette structure de données peut faire l'affaire et va vous aidez dans votre algorithme
Il y en a plusieurs, mais là j'ai énumeré juste celles qui vous permettra de pouvoir vous mouvoir dans ce langage et qui est bon de retenir...
Bon coding
LarrySig Guest
24.05.2024, 18:18
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
22.05.2024, 00:57
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
15.05.2024, 16:04
Post: Comment fonctionnent Internement les guichets automatiques ?
Franck Guest
14.05.2024, 19:34
Post: Comment deployer un site web statique sur github?