forked from menault/2026_TD3_DEV51_Qualite_Algo
cb7857cd434fc2c882b588873d37e672667ad80c
Le tri à bulles faisait n(n-1)/2 = 450 millions de comparaisons pour 30 000 transactions. qsort trie en O(n log n) avec une fonction de comparaison (montant, puis id). Les id étant distincts, l'ordre est total et le résultat identique malgré un tri non stable. Temps (-O2) : 3,05 s → 1,17 s. Empreinte inchangée (ff68d260a7a58441). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TD3 — Complexité algorithmique (R5.A.04)
Fichiers
banque.c: le programme à analyser et à optimiserevaluer.sh: vérifie votre solution et mesure son temps d'exécution pour le concours
Démarrage
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_transactionsou 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 <votre_nom>vérifie l'empreinte et mesure le temps. La complexité cyclomatique est calculée à la main et vérifiée par l'enseignant.
Description
Languages
C
89.5%
Shell
10.5%