Complexité algorithmique — 00 — Le code qui marche en dev et meurt en prod
Pourquoi un code rapide sur 100 lignes devient inutilisable sur 1 million. Introduction à la complexité algorithmique comme dette technique qui dort.
9 articles sur le thème "big-o".
Pourquoi un code rapide sur 100 lignes devient inutilisable sur 1 million. Introduction à la complexité algorithmique comme dette technique qui dort.
Tous les langages ont un tri intégré. Pourquoi comprendre les algorithmes de tri reste utile : choisir, déboguer, et raisonner sur la complexité.
Une méthode pour choisir la structure de données adaptée à un problème réel : identifier l'opération chaude, puis sélectionner array, Set, Map ou structure triée.
Comprendre O(1), O(log n), O(n), O(n log n), O(n²) et O(2ⁿ) avec des exemples de code et une intuition de la vitesse de croissance.
Les erreurs de complexité les plus fréquentes en revue de code : includes dans une boucle, boucles imbriquées cachées, concaténation en O(n²), recalculs inutiles.
La mémoire a un coût, comme le temps. Mesurer la complexité spatiale, comprendre le trade-off temps/espace, et savoir quand échanger l'un contre l'autre.
Déterminer la complexité d'un code : compter les opérations, garder le terme dominant, ignorer les constantes, et distinguer cas pire, moyen et meilleur.
Array, liste chaînée, hashmap, Set, arbre équilibré : leurs coûts en Big-O pour l'accès, la recherche, l'insertion et la suppression, comparés dans un tableau.
Introduction à la série structures de données : pourquoi chaque structure est un compromis, ce que la série construit, et le lien avec la complexité algorithmique.