MFormations
Toutes les formations

Modern Algorithms Engineering

Formation complète en Algorithmique — Des fondamentaux aux algorithmes avancés — Niveau Université + Industrie

Les algorithmes sont le cœur de l'ingénierie logicielle. Ce cours couvre :

Connectez-vous pour suivre votre progression.

Chapitres

25 chapitres pour maîtriser le domaine.

  1. 0

    00 — Introduction aux Algorithmes

    > **Objectif** : Comprendre ce qu'est un algorithme, son histoire, ses propriétés fondamentales et pourquoi il est au cœur de l'ingénierie logicielle moderne. ---

    20 QCM 20 flashcards
  2. 1

    01 — Complexité Algorithmique

    > **Objectif** : Maîtriser la notation asymptotique (Big-O, Omega, Theta), calculer la complexité temps et espace, et résoudre les récurrences. ---

    20 QCM 20 flashcards
  3. 2

    02 — Tableaux et Tris

    > **Objectif** : Maîtriser les tableaux (accès, insertion, suppression), les algorithmes de recherche et la panoplie complète des tris, du O(n²) au O(n log n) et aux tris linéaires. ---

    20 QCM 20 flashcards
  4. 3

    03 — Structures de Données

    > **Objectif** : Comprendre la distinction entre types abstraits (ADT) et implémentations concrètes, connaître les interfaces fondamentales et savoir choisir la structure adaptée à chaque besoin. ---

    20 QCM 20 flashcards
  5. 4

    04 — Listes et Listes Chaînées

    > **Objectif** : Maîtriser les variantes de listes chaînées (simple, double, circulaire, skip list), leurs opérations, leurs applications réelles (LRU cache, undo, playlist) et savoir quand les préférer aux tableaux. ---

    20 QCM 20 flashcards
  6. 5

    05 — Piles et Files

    > **Objectif** : Maîtriser les structures LIFO (piles) et FIFO (files), le deque, et les files de priorité — avec leurs implémentations et leurs applications réelles (undo, call stack, BFS, scheduling OS). ---

    20 QCM 20 flashcards
  7. 6

    06 — Hash Tables

    > **Objectif** : Maîtriser les fonctions de hachage, les tables de hachage, la gestion des collisions (chaînage, adressage ouvert, double hachage), le load factor et le réhachage — et les implémentations réelles (dict, HashMap, unordered_map). ---

    20 QCM 20 flashcards
  8. 7

    07 — Arbres

    > **Objectif** : Maîtriser les arbres — binaires, ABR, AVL, Rouge-Noir, B-Tree, tas (heap sort, heapify) et les structures avancées (Segment Tree, Fenwick, Trie) — avec leurs opérations, complexités et applications. ---

    20 QCM 20 flashcards
  9. 8

    08 — Graphes

    > **Objectif** : Maîtriser les graphes — représentations, parcours BFS/DFS, tri topologique, plus courts chemins (Dijkstra, Bellman-Ford, Floyd-Warshall), arbres couvrants minimaux (Kruskal, Prim), A* et la détection de cycles. ---

    20 QCM 20 flashcards
  10. 9

    09 — Récursion & Backtracking

    > Explorez la récursion, l'art du retour en arrière (backtracking) et la technique du *branch & bound* pour résoudre les problèmes de recherche combinatoire. ---

    20 QCM 20 flashcards
  11. 10

    10 — Programmation Dynamique

    > Résolvez les problèmes à sous-structure optimale en mémorisant les sous-problèmes : memoization, tabulation, reconstruction. ---

    20 QCM 20 flashcards
  12. 11

    11 — Algorithmes Gloutons (Greedy)

    > Faites le meilleur choix local à chaque étape : prouvez que cela donne l'optimum global. ---

    20 QCM 20 flashcards
  13. 12

    12 — Diviser pour Régner (Divide & Conquer)

    > Décomposez un problème en sous-problèmes indépendants, résolvez-les récursivement, combinez. ---

    20 QCM 20 flashcards
  14. 13

    13 — Algorithmes sur les Chaînes

    > Recherche de motifs, structures de texte : de la force brute à Aho-Corasick, suffix arrays et Manacher. ---

    20 QCM 20 flashcards
  15. 14

    14 — Mathématiques pour l'Informatique

    > Arithmétique modulaire, théorie des nombres, combinatoire, matrices et bit manipulation : les fondations mathématiques des algorithmes. ---

    20 QCM 20 flashcards
  16. 15

    15 — Géométrie Computationnelle

    > Points, vecteurs, orientation, intersection, enveloppes convexes et algorithmes de balayage. ---

    20 QCM 20 flashcards
  17. 16

    16 — Projet Fil-Rouge : Recommandation & Routage

    > Application complète qui combine tous les algorithmes du cours : graphes sociaux, recherche, pathfinding, scheduling, recommandation. ---

    20 QCM 20 flashcards
  18. 17

    17 — Exercices

    > **Objectif** : S'entraîner intensivement sur 100 exercices classés par difficulté (facile → compétition) couvrant les 10 thèmes majeurs de l'algorithmique. ---

  19. 18

    18 — QCM

    > **Objectif** : Valider ses connaissances théoriques avec 100 questions à choix multiples couvrant complexité, tris, structures de données, graphes, programmation dynamique, greedy, strings et mathématiques — avec réponses et explications. ---

  20. 19

    19 — Corrections

    > **Objectif** : Corrigés détaillés et multi-langages des exercices du chapitre 17, avec explications complexes de chaque approche. ---

  21. 20

    20 — Ressources

    > **Objectif** : Panorama des meilleures plateformes, outils et références pour s'entraîner aux algorithmes : LeetCode, HackerRank, Codeforces, AtCoder, Project Euler, Exercism, Big-O cheat sheets et visualisations interactives. ---

  22. 21

    21 — Livres

    > **Objectif** : Résumés structurés des 5 ouvrages de référence en algorithmique — CLRS, Sedgewick, Kleinberg, Cracking the Coding Interview et Skiena — avec plan de lecture, points clés et chapitres prioritaires. ---

  23. 22

    22 — Interviews

    > **Objectif** : Se préparer aux entretiens techniques de type FAANG — 30 questions comportementales (méthode STAR), 30 questions techniques (algorithmes, structures de données, system design) et des coding challenges guidés. ---

  24. 23

    23 — Annexes

    > **Objectif** : Toutes les références rapides de la formation en un seul endroit — glossaire de 200+ termes, cheat sheets Big-O et templates d'algorithmes, résolution de récurrences et complexités par structure. ---

  25. 24

    24 — Tendances

    > **Objectif** : Panorama des algorithmes modernes — IA/ML, algorithmes quantiques, algorithmes distribués, streaming (Bloom filter, HyperLogLog), algorithmes GPU et sublinear algorithms. ---