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.
- 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 11
11 — Algorithmes Gloutons (Greedy)
> Faites le meilleur choix local à chaque étape : prouvez que cela donne l'optimum global. ---
20 QCM 20 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 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 flashcardsNon commencé - 15
15 — Géométrie Computationnelle
> Points, vecteurs, orientation, intersection, enveloppes convexes et algorithmes de balayage. ---
20 QCM 20 flashcardsNon commencé - 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 flashcardsNon commencé - 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. ---
Non commencé - 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. ---
Non commencé - 19
19 — Corrections
> **Objectif** : Corrigés détaillés et multi-langages des exercices du chapitre 17, avec explications complexes de chaque approche. ---
Non commencé - 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. ---
Non commencé - 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. ---
Non commencé - 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. ---
Non commencé - 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. ---
Non commencé - 24
24 — Tendances
> **Objectif** : Panorama des algorithmes modernes — IA/ML, algorithmes quantiques, algorithmes distribués, streaming (Bloom filter, HyperLogLog), algorithmes GPU et sublinear algorithms. ---
Non commencé