# TD3 — Complexité algorithmique (R5.A.04) ## Fichiers - `banque.c` : le programme à analyser et à optimiser - `evaluer.sh` : vérifie votre solution et mesure son temps d'exécution pour le concours ## Démarrage ```bash gcc -O2 banque.c -o banque time ./banque # notez le temps et l'empreinte gcc -O0 -g -pg banque.c -o banque_pg ./banque_pg && gprof ./banque_pg gmon.out > profil_avant.txt ``` ## Règles - L'empreinte affichée doit rester `ff68d260a7a58441`. - Interdit : modifier les constantes, `alea`, `generer_transactions` ou le format du rapport, écrire les résultats en dur, utiliser des threads ou des bibliothèques externes. - Autorisé : changer les signatures, réorganiser `main`, ajouter fonctions et structures, utiliser la bibliothèque standard du C. ## Rendu - Un commit par optimisation. - `COMPTE_RENDU.md` à la racine : complexités avant / après de F1 à F10, profils gprof avant / après, justification de chaque optimisation. - Concours : `./evaluer.sh banque.c ` vérifie l'empreinte et mesure le temps. La complexité cyclomatique est calculée à la main et vérifiée par l'enseignant.