Bonnes, bonnes structures de données
Miscellanea / / December 05, 2023
Ce cours - une autre étape importante dans votre développement en tant qu'informaticien compétent dans le domaine de la programmation. Une fois que vous avez appris les capacités de base du langage, son composant orienté objet, la prochaine étape logique est étude des structures de données typiques et fréquemment utilisées, connaissance de leurs forces et faiblesses pour une utilisation efficace dans leur projets.
Tout programme plus ou moins fiable utilise au moins une structure de données simple, par exemple des tableaux. Et dans les projets plus complexes, il y en a toujours des plus complexes comme les listes chaînées, les tables de hachage, les ensembles, les tableaux associatifs, etc. Vous devez savoir tout cela pour que vos programmes soient exécutés le plus rapidement possible tout en utilisant la mémoire de l'appareil avec parcimonie. De plus, presque toujours lors des entretiens d'embauche pour le poste de programmeur, on leur demande des questions sur les structures de données et les méthodes d'évaluation de la complexité des algorithmes, généralement du point de vue du « grand O » (Grand O). Tous ces sujets importants sont inclus dans ce cours. Le terminer vous permettra non seulement d'écrire des algorithmes avec plus de confiance, mais également de mieux réussir lors des entretiens pour un emploi futur.
Apprendre à estimer la complexité informatique des algorithmes
1. Introduction à Big O
2. Big O avec complexité logarithmique et factorielle
Les structures de données les plus simples
1. Tableau statique
2. Tableau statique en C++
3. Tableau dynamique
4. Tableau dynamique en Python
5. Tableau dynamique en C++
Listes liées
1. Liste chaînée unique
2. Liste chaînée unique en C++
3. Liste doublement chaînée
4. Liste doublement chaînée en C++ à partir de zéro
5. Classe List d'une liste doublement chaînée de la bibliothèque C++ STL
Files d'attente et pile
1. Files d'attente FIFO et LIFO
2. file d'attente collections.deque en Python
3. Classe Queue Deque de la bibliothèque C++ STL
4. Empiler
5. Implémentation d'une stack en Python et C++
Arbres et décors
1. Arbres binaires
2. Méthodes pour parcourir et supprimer les sommets d'un arbre binaire
3. Arbre binaire en Python
4. Ensembles. Définir les opérations
5. Ensembles et multiensembles en C++
6. Conteneur de cartes de bibliothèque STL en C++
7. Arbre de préfixes (chargé, Trie). Tableaux associatifs
Tables de hachage
1. Tables de hachage
2. Hachage universel
3. Méthode d'adressage ouverte. Double hachage
4. Tables de hachage en Python et C++