Choisissez votre langue
Cours de structures de données et algorithmes
Plus de 2 millions d'étudiants dans le monde

Cours de structures de données et algorithmes

4,4

Maîtrisez chaque structure de données et algorithme majeur nécessaire pour exceller dans les entretiens techniques et l'ingénierie réelle. Ce cours vous emmène des tableaux et de la récursivité jusqu'à la programmation dynamique, les graphes et les structures avancées comme les arbres de segments et les tries. Que vous visiez les meilleures entreprises ou que vous cherchiez à perfectionner vos compétences d'ingénieur, c'est la boîte à outils DSA complète.

Dedika pour les entreprises

Ce que vous allez apprendre:

Vous acquerrez 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. Vous apprendrez à analyser l'efficacité des algorithmes à l'aide de la notation Grand O et appliquerez ces connaissances pour écrire un code plus rapide et plus concis. Ce cours couvre les algorithmes essentiels pour le tri, la recherche, le parcours de graphes et les problèmes de plus court chemin. Vous maîtriserez 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. Vous vous entraînerez également aux stratégies d'entretien de codage, aux méthodes de débogage et aux compétences de communication de code propre.

Comment vous étudiez de façon pratique Cours de structures de données et algorithmes

Comment vous pratiquez Cours de structures de données et algorithmes

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 38 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondamentaux des structures de données

  • Leçon 1 • Introduction à l'organisation des données

    Couvre les types de données primitifs et composites ainsi que 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 contigu en mémoire via les tableaux et les séquences de caractères. Relie les mécanismes d'indexation aux futurs algorithmes de recherche et de tri.

  • Leçon 3 • Bases de l'analyse de complexité

    Présente 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. Démontre des cas d'usage réels tels que l'analyse d'expressions et l'ordonnancement.

  • Leçon 5 • Fondamentaux des listes chaînées

    Présente les structures de nœuds et de pointeurs pour le stockage dynamique de données. Fournit la base pour comprendre les piles, les files d'attente et les arbres.

Chapitre 2Voir les détails

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 motifs pour la résolution de problèmes récursifs.

  • Leçon 2 • 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 sur les arbres et les 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 pour le tri fusion et le 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. Fait le lien avec les problèmes de satisfaction de contraintes et les problèmes combinatoires.

Chapitre 3Voir les détails

Algorithmes de tri et de recherche

  • Leçon 1 • Tris efficaces par comparaison

    Implémente le tri fusion et le tri rapide en utilisant la stratégie 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 les tris à bulles, par sélection et par insertion avec des traces pas à pas. É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

    Présente le tri par comptage, le tri par base et le tri par compartiments pour un tri en temps linéaire. Montre quand des données entières ou à plage bornée permettent des garanties sous-quadratiques.

  • Leçon 4 • Sélection de l'algorithme de tri

    Guide la prise de décision en fonction de la taille, du type de données 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 4Voir les détails

Arbres et structures hiérarchiques

  • Leçon 1 • Parcours d'arbres binaires

    Implémente les parcours en ordre infixe, préfixe, postfixe et en largeur d'abord. Relie le choix du parcours à des besoins de sortie spécifiques tels que 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é. Démontre comment les invariants d'ordre permettent une recherche efficace.

  • Leçon 3 • Tas et files de priorité

    Construit des tas minimaux et maximaux en utilisant une représentation par tableau et des opérations de 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

    Présente l'équilibrage en hauteur via les rotations AVL pour maintenir les garanties O(log n). Prépare les étudiants pour les arbres rouge-noir et les 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 arborescentes. Fournit un vocabulaire commun pour tout le contenu ultérieur sur les arbres et les graphes.

Chapitre 5Voir les détails

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'usage 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 6Voir les détails

Graphes et algorithmes de graphes

  • Leçon 1 • Sujets avancés sur les graphes

    Présente le tri topologique, les composantes fortement connexes et les bases du flot de réseau. Prépare les étudiants pour les 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 en utilisant l'union-find et les files de priorité. Relie les concepts d'ACM à la conception de réseaux et aux applications de clustering.

  • Leçon 4 • Algorithmes de parcours de graphes

    Implémente BFS et DFS avec une gestion explicite des files 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 correction, y compris la gestion des arêtes négatives.

Chapitre 7Voir les détails

Programmation dynamique

  • Leçon 1 • PD sur les arbres et les graphes

    Étend la PD aux structures arborescentes et aux problèmes basés sur les DAG. Relie la connaissance du parcours de graphes aux formulations de PD sur les espaces d'états.

  • Leçon 2 • PD sur les séquences et les intervalles

    Applique la PD à la plus longue sous-séquence croissante et aux problèmes d'ordonnancement d'intervalles. Étend la reconnaissance de motifs aux optimisations à deux pointeurs et à la recherche binaire.

  • Leçon 3 • Principes de la PD et mémoïsation

    Définit les sous-problèmes qui se chevauchent et la sous-structure optimale comme prérequis à la PD. Introduit la mémoïsation descendante comme première stratégie d'implémentation.

  • Leçon 4 • Tabulation ascendante

    Convertit les solutions mémoïsées en approches de remplissage de tableaux itératives. Démontre l'optimisation de l'espace en réduisant les dimensions des tableaux.

  • Leçon 5 • Problèmes classiques de PD

    Résout les problèmes de plus longue sous-séquence commune, de sac à dos et de distance d'édition. Construit une bibliothèque de motifs réutilisables pour reconnaître les types de problèmes de PD.

Chapitre 8Voir les détails

Structures de données avancées et conception d'algorithmes

  • Leçon 1 • Trie et structures de suffixes

    Implémente des arbres préfixes pour la recherche rapide de chaînes de caractères et l'autocomplétion. Introduit les tableaux de suffixes pour la recherche 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 en termes de complexité d'implémentation et de cas d'usage.

  • Leçon 3 • Analyse amortie et sujets avancés

    Applique les méthodes globale, comptable et potentielle pour analyser des 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 à 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é de 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'intervalle.

Certification

Votre certificat valide de réussite

Ce cours est fait 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'évolution de carrière.

  • Diplômé de bootcamp : ayant besoin des fondamentaux informatiques que les programmes intensifs négligent souvent.

  • Ingénieur logiciel : se préparant à réussir les évaluations techniques dans des entreprises technologiques très compétitives.

  • Personne en reconversion professionnelle : se tournant vers le développement logiciel et construisant une base technique rigoureuse.

  • Programmeur compétitif : cherchant à systématiser les schémas de résolution de problèmes pour les compétitions chronométrées.

Ce que disent nos élèves

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en France ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du 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 marche ?

Cours PDF