1.7 KiB
1.7 KiB
gcc -g -pg racineCarree.c ./a.out gprof ./racineCarree
Profilling
J'ai peut etre un probleme sur ça.
Flat profile
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 6 0.00 0.00 racinecarre
0.00 0.00 0.00 2 0.00 0.00 racineCarreeTab
Call profile
index % time self children called name 0.00 0.00 1/6 main [6] 0.00 0.00 5/6 racineCarreeTab [2] [1] 0.0 0.00 0.00 6 racinecarre [1]
0.00 0.00 1/2 main [6]
0.00 0.00 1/2 atexit [3]
[2] 0.0 0.00 0.00 2 racineCarreeTab [2] 0.00 0.00 5/6 racinecarre [1]
Complexité cyclomatique
RacineCarree()
- Il y a 4
- On sort dans le 1er quand n < 0 (doit etre entier positif )
- Boucle for il y a un if qui verifie la condition qui est vrai i * i = entier positif qui permet la racine 5 * 5 = 25
- if qui est faux car pas egal à l'entier positif donné
- Sortie boucle for pour le resultat et return -1 si tout les cas sont faux
Complixité cyclonique de 4
racineCarreeTab()
- Fonction recurcise qui retourne lui meme donc 1
Complixité cyclonique de 1
Complexité algorithmique
racineCarree() => 0(1) car on choisit la cas en fonction de n entier positif , un choix parmi les if racineCarreeTab => O(n!) fonction recursive qui appele la racineCarre