commit 40e2843310d486c66fa9a85b39ce401e6daa5a7d Author: lebretonm Date: Wed Oct 15 17:57:22 2025 +0200 push final diff --git a/exercice_technique.c b/exercice_technique.c new file mode 100644 index 0000000..063a200 --- /dev/null +++ b/exercice_technique.c @@ -0,0 +1,123 @@ +#include +#include + + +//exercice 1 + +int racineCarree(int a){ + int i =0 ; + while (i +[2] 100.0 0.00 0.22 main [2] + 0.00 0.22 1/1 racineCarreeTab [3] + 0.00 0.00 1/100001 racineCarree [1] + 0.00 0.00 1/1 creatTab [4] +----------------------------------------------- + 0.00 0.22 1/1 main [2] +[3] 100.0 0.00 0.22 1 racineCarreeTab [3] + 0.22 0.00 100000/100001 racineCarree [1] + + + +pour cette exempel j'ai pris un tableua de 100000 avec des valeur 1000000 + +on peut voir que racineCarree a été 1000000 par racineCarreeTab qui est le nombre de fois qu'on attend qu'il appel la metode car racineCarreeTab +est de complexité O(n²) de par ses appel a racineCarree et a e qui se passe dans racineCarree. donc au vue de se qui se passe dans gprof j'en comclue que +mes methodes sont correctment coder et sont performante + + + + + +la methode TriSpecial() pour complexiter : + + -algorithmque: O(n⁵*m) car dans le pire des cas le resultat de conditionTri est pausitif et donc il y a plus de calcul + deja il réutilise racineCarreeTab donc on a n*m de complexite auquel on ajoute le n de racineCarree ce qui fais n²*m + on joute encore n pour la somme car on repsse encore une fois dans tous le tableau et une autre pour condition tri et enfin un dernier n + pour la boucle dans le if + + + + + -cyclomatique: + + il a une complexiter de 4 soit on rentre dans le premier if ou pas ca ouvre 2 route ensuite dans les boucle + for il y a encore 2 if ce qui ouvre en core 2 chemin pour chaque. ce qui fais donc une complexiter de 4 + + +conditionTri : il a une complexiter de 3 soit tu rentre dans la boucle ou pas si tu y rentre tu rentre ou non dans le if ce qui fait 3 + +pour somme : il a une complexiter de 2 soit on rentre dans la boucle soit non.