
Cours de structures de données et algorithmes
Maîtrise toutes les principales structures de données et algorithmes dont tu as besoin pour exceller dans les entrevues techniques et le génie logiciel concret. Ce cours te guide des tableaux et de la récursion jusqu'à la programmation dynamique, aux graphes et aux structures avancées comme les arbres de segments et les tries. Que tu vises les entreprises de premier plan ou que tu souhaites perfectionner tes compétences en génie, voici la boîte à outils complète en structures de données et algorithmes.
Ce que votre équipe va maîtriser:
Tu acquerras une compréhension approfondie des structures de données fondamentales, notamment les tableaux, les listes chaînées, les arbres, les tas et les tables de hachage. Tu apprendras à analyser l'efficacité des algorithmes à l'aide de la notation Grand O et à appliquer ces connaissances pour écrire un code plus rapide et plus léger. Le cours couvre les algorithmes essentiels pour le tri, la recherche, le parcours de graphes et les problèmes de plus court chemin. Tu maîtriseras les techniques de programmation dynamique pour résoudre des problèmes d'optimisation classiques comme le sac à dos et la distance d'édition. Les sujets avancés incluent les arbres de segments, les tries, l'union-find et la conception d'algorithmes gloutons. Tu pratiqueras également des stratégies d'entrevue de codage, des méthodes de débogage et des compétences de communication de code propre.
Comment votre équipe apprend de façon pratique Cours de structures de données et algorithmes
Comment votre équipe pratique Cours de structures de données et algorithmes
Des professionnels de ces entreprises étudient sur Dedika









Contenu du cours
8 Chapitres • 38 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondements des structures de données
Fondements des structures de données
Leçon 1 • Introduction à l'organisation des données
Couvre les types de données primitifs par rapport aux types composites et les concepts de disposition en mémoire. Établit le vocabulaire utilisé tout au long du cours.
Leçon 2 • Tableaux et chaînes de caractères
Examine le stockage en mémoire contiguë via des tableaux et des séquences de caractères. Relie les mécanismes d'indexation aux algorithmes de recherche et de tri ultérieurs.
Leçon 3 • Notions de base de l'analyse de complexité
Introduit les notations Grand-O, Grand-Thêta et Grand-Oméga pour évaluer l'efficacité. Permet aux étudiants de comparer quantitativement les opérations sur les structures de données.
Leçon 4 • Piles et files d'attente
Définit les modes d'accès LIFO et FIFO ainsi que leurs implémentations. Présente des cas d'utilisation concrets comme l'analyse d'expressions et l'ordonnancement.
Leçon 5 • Principes fondamentaux des listes chaînées
Introduit les structures nœud-pointeur pour le stockage dynamique des données. Fournit la base pour comprendre les piles, les files d'attente et les arbres.
Chapitre 2MasquerCacher les détailsVoir les détailsRécursivité et décomposition de problèmes
Récursivité et décomposition de problèmes
Leçon 1 • Algorithmes récursifs classiques
Applique la récursivité aux fonctions factorielle, Fibonacci et puissance. Renforce la reconnaissance de formes pour la résolution de problèmes récursifs.
Leçon 2 • Principes fondamentaux de la pensée récursive
Établit les cas de base, les cas récursifs et le comportement de la pile d'appels. Développe l'intuition nécessaire avant d'aborder les algorithmes d'arbres et de graphes.
Leçon 3 • Stratégie diviser pour régner
Formalise la division des problèmes en moitiés indépendantes et la fusion des résultats. Prépare les étudiants au tri par fusion et au tri rapide dans le chapitre suivant.
Leçon 4 • Techniques de retour sur trace
Enseigne l'exploration systématique des espaces de solutions avec élagage. Se relie aux problèmes de satisfaction de contraintes et aux problèmes combinatoires.
Chapitre 3MasquerCacher les détailsVoir les détailsAlgorithmes de tri et de recherche
Algorithmes de tri et de recherche
Leçon 1 • Tris efficaces par comparaison
Implémente le tri par fusion et le tri rapide à l'aide de la méthode diviser pour régner. Analyse les différences de performance entre les deux en moyenne et dans le pire des cas.
Leçon 2 • Algorithmes de tri élémentaires
Couvre le tri à bulles, le tri par sélection et le tri par insertion avec des traces étape par étape. Établit des références de complexité de base pour la comparaison avec les tris avancés.
Leçon 3 • Méthodes de tri sans comparaison
Introduit le tri par comptage, le tri par base et le tri par seaux pour un tri en temps linéaire. Montre quand les données de type entier ou à plage bornée permettent des garanties sous-quadratiques.
Leçon 4 • Sélection d'un algorithme de tri
Guide la prise de décision en fonction de la taille des données, du type et des contraintes de mémoire. Synthétise le contenu du chapitre en un cadre de sélection pratique.
Leçon 5 • Algorithmes de recherche
Couvre la recherche linéaire, la recherche binaire et la recherche par interpolation avec analyse de complexité. Relie l'efficacité de la recherche au choix de la structure de données.
Chapitre 4MasquerCacher les détailsVoir les détailsArbres et structures hiérarchiques
Arbres et structures hiérarchiques
Leçon 1 • Parcours d'un arbre binaire
Implémente les parcours en ordre, préordre, postordre et en largeur. Relie le choix du parcours à des exigences de sortie spécifiques comme la sortie triée.
Leçon 2 • Arbres binaires de recherche
Couvre l'insertion, la suppression et la recherche dans un ABR avec analyse de complexité. Montre comment les invariants d'ordre permettent une consultation efficace.
Leçon 3 • Tas et files de priorité
Construit des tas-min et des tas-max à l'aide d'une représentation par tableau et d'opérations sur les tas. Relie la structure du tas au tri par tas et à l'ordonnancement basé sur les priorités.
Leçon 4 • ABR équilibrés et arbres AVL
Introduit l'équilibrage en hauteur via les rotations AVL pour maintenir les garanties O(log n). Prépare les étudiants aux arbres rouge-noir et aux arbres B dans les sujets avancés.
Leçon 5 • Terminologie et propriétés des arbres
Définit les nœuds, les arêtes, la hauteur, la profondeur et le degré dans les structures d'arbre. Fournit un vocabulaire commun pour tout le contenu ultérieur sur les arbres et les graphes.
Chapitre 5MasquerCacher les détailsVoir les détailsHachage et tables de hachage
Hachage et tables de hachage
Leçon 1 • Opérations et analyse des tables de hachage
Implémente les opérations d'insertion, de suppression et de recherche avec une analyse de complexité amortie. Relie les garanties théoriques aux décisions pratiques d'implémentation.
Leçon 2 • Applications avancées du hachage
Explore le hachage cohérent, les filtres de Bloom et les cas d'utilisation du hachage cryptographique. Étend les connaissances sur les tables de hachage aux systèmes distribués et probabilistes.
Leçon 3 • Stratégies de résolution de collisions
Compare les techniques de chaînage et d'adressage ouvert pour gérer les collisions. Analyse l'impact du facteur de charge sur les performances de chaque stratégie.
Leçon 4 • Conception de fonctions de hachage
Couvre les méthodes de hachage par division, multiplication et hachage roulant polynomial. Établit les critères d'une bonne fonction de hachage : uniformité et efficacité.
Chapitre 6MasquerCacher les détailsVoir les détailsGraphes et algorithmes sur les graphes
Graphes et algorithmes sur les graphes
Leçon 1 • Sujets avancés sur les graphes
Introduit le tri topologique, les composantes fortement connexes et les bases du flot réseau. Prépare les étudiants aux problèmes de conception d'algorithmes dans des contextes compétitifs et appliqués.
Leçon 2 • Représentation et terminologie des graphes
Définit les graphes orientés, non orientés, pondérés et cycliques avec des structures d'adjacence. Établit les choix de représentation qui affectent l'efficacité des algorithmes.
Leçon 3 • Arbres couvrants minimaux
Implémente les algorithmes de Kruskal et de Prim à l'aide de l'union-find et de files de priorité. Relie les concepts d'ACM à la conception de réseaux et aux applications de regroupement.
Leçon 4 • Algorithmes de parcours de graphes
Implémente BFS et DFS avec une gestion explicite des files d'attente et des piles. Applique les parcours à la détection de connectivité et à l'identification de cycles.
Leçon 5 • Algorithmes de plus court chemin
Couvre Dijkstra, Bellman-Ford et Floyd-Warshall pour les chemins source unique et tous les couples. Analyse les conditions de justesse, y compris la gestion des arêtes négatives.
Chapitre 7MasquerCacher les détailsVoir les détailsProgrammation dynamique
Programmation dynamique
Leçon 1 • DP sur les arbres et les graphes
Étend la DP aux structures arborescentes et aux problèmes basés sur les DAG. Relie les connaissances sur le parcours de graphes aux formulations DP par espace d'états.
Leçon 2 • DP sur les séquences et les intervalles
Applique la DP à la plus longue sous-séquence croissante et aux problèmes d'ordonnancement par intervalles. Étend la reconnaissance de formes aux optimisations par deux pointeurs et recherche binaire.
Leçon 3 • Principes de la DP et mémorisation
Définit les sous-problèmes qui se chevauchent et la sous-structure optimale comme prérequis à la DP. Introduit la mémorisation descendante comme première stratégie d'implémentation.
Leçon 4 • Tabulation ascendante
Convertit les solutions mémorisées en approches itératives de remplissage de tableau. Démontre l'optimisation de l'espace en réduisant les dimensions du tableau.
Leçon 5 • Problèmes DP classiques
Résout les problèmes de la plus longue sous-séquence commune, du sac à dos et de la distance d'édition. Construit une bibliothèque de modèles réutilisables pour reconnaître les types de problèmes DP.
Chapitre 8MasquerCacher les détailsVoir les détailsStructures de données avancées et conception d'algorithmes
Structures de données avancées et conception d'algorithmes
Leçon 1 • Structures trie et suffixe
Implémente des arbres préfixes pour la recherche rapide de chaînes et l'auto-complétion. Introduit les tableaux de suffixes pour la reconnaissance de motifs dans de grands corpus de texte.
Leçon 2 • Arbres de segments et arbres de Fenwick
Construit des structures de requête de plage et de mise à jour ponctuelle pour des opérations d'intervalle efficaces. Compare les arbres de segments et les arbres de Fenwick selon la complexité d'implémentation et le cas d'utilisation.
Leçon 3 • Analyse amortie et sujets avancés
Applique les méthodes agrégée, comptable et du potentiel pour analyser les séquences de structures de données. Introduit les listes à sauts et les structures auto-ajustables comme alternatives avancées.
Leçon 4 • Union-find et ensembles disjoints
Implémente l'union par rang et la compression de chemin pour des opérations en temps quasi constant. Applique l'union-find à la connectivité dynamique et à l'ACM de Kruskal.
Leçon 5 • Conception d'algorithmes gloutons
Formalise la propriété du choix glouton et les preuves par argument d'échange. Résout de manière gloutonne les problèmes de sélection d'activités, de codage de Huffman et d'intervalles.
Votre certificat valide de réussite
Ce cours est pour vous :
Étudiant en informatique : cherchant une profondeur structurée au-delà de ce que les cours magistraux offrent habituellement.
Développeur autodidacte : prêt à combler les lacunes algorithmiques qui freinent l'avancement de carrière.
Diplômé d'un bootcamp : ayant besoin des fondements en informatique que les programmes intensifs sautent souvent complètement.
Ingénieur logiciel : se préparant à réussir les écrans techniques dans des entreprises de technologie très compétitives.
Personne en réorientation de carrière : entrant dans le développement logiciel et bâtissant une base technique rigoureuse.
Programmeur compétitif : cherchant à systématiser les patrons de résolution de problèmes pour des environnements de concours chronométrés.
Cours connexes
FAQ
Qui est Dedika?
Le certificat est-il valable au Canada ?
Les cours sont-ils gratuits?
Quelle est la charge de travail des cours?
Comment sont les cours?
Comment fonctionnent les cours?
Quelle est la durée des cours?
Quel est le coût ou le prix des cours?
Qu’est-ce qu’un cours EAD ou en ligne et comment ça fonctionne?
Cours PDF



















