💾
Niveau Architecte
0 XP

<Combinatoire & Complexité/>

Comment coder vite et sécuriser les données ?
La différence entre un programme qui tourne en 1 seconde et celui qui prend 100 ans réside ici.

O(n)

1. La Vitesse d'Exécution

Big O Notation

Imagine que tu cherches un livre dans une bibliothèque.

  • O(1) Flash : Tu connais l'emplacement exact. Peu importe la taille de la bibliothèque, ça prend 1 seconde.
  • O(n) Lecture : Tu dois lire tous les titres un par un. Si la bibliothèque double, ton temps double.
  • O(n²) Le Cauchemar : Pour chaque livre, tu le compares à tous les autres (ex: trier à la main). Si la biblio double, le temps quadruple !
CPU

Applications Pro

  • Google Search

    Google indexe des milliards de pages. Ils doivent utiliser des algos en \(O(\log n)\) ou \(O(1)\). Si c'était \(O(n)\), chaque recherche prendrait des mois.

  • High Frequency Trading

    En bourse, chaque microseconde compte. Un algorithme mal optimisé (\(O(n^2)\)) perd de l'argent face à un algo optimisé.

● SYSTEM ONLINE

⚡ Le Benchmark

Augmente le nombre de données (N) et regarde comment le temps de calcul explose.

O(n) - Linéaire (Parcours simple) 10 ms
O(n²) - Quadratique (Doubles boucles) 100 ms
O(2ⁿ) - Exponentiel (Force brute) 1024 ms
n!

2. L'Art du Dénombrement

La Question à 1 Million

"L'ordre compte-t-il ?"

OUI : ARRANGEMENTS / PERMUTATIONS

🔒 Code de cadenas : 1-2-3 est différent de 3-2-1.
La position est vitale.

NON : COMBINAISONS

🥗 Salade de fruits : Banane + Fraise, c'est pareil que Fraise + Banane.
C'est juste un groupe.

🔐 Brute Force Estimator

HACKING TOOLS

Longueur du mot de passe (lettres minuscules uniquement) :

4
Possibilités : 456,976
Temps de crack : Instantanné

*Basé sur 1 milliard de tests/seconde

🎯 Mission : Lead Developer

Optimise le système et sécurise l'accès.

Ticket JIRA #1 Priorité: HIGH

...

Terminé ! Retour au Hub
🏠