Choisissez votre langue
Cours de structures de données et algorithmes
+ de 400 000 professionnels sur la plateforme
Exclusif aux entreprises

Cours de structures de données et algorithmes

4,4

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.

Dedika pour les apprenants

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

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Contenu du cours

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

Chapitre 1Voir les détails

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 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 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 3Voir les détails

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 4Voir les détails

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

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

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 8Voir les détails

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.

Certification

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