# RAPPORT ## EXO2 - function_1(tableau1, tableau2) : complexité alogithmique est égale à : O(n*m) dans le pire cas ou n est la taille du tableau 1 et m la taille du tableau 2. - function_2(x) : compléxité algorithmique est égale a : O(x) car la boucle while fait x itération et car x est décrémenter de 1 jusqu'a 0. - function_3(x) : cette fois ci la compléxité algorithmique est égale a : O(1) car en fonction de la valeur de x uniquement une des trois conditions qui effectue une opération simple. ## EXO3 Pour cette fonction on a : - la premiere boucle for : O(g) - ensuite malloc : O(1) - deuxieme boucle for : O(g*n) - bubblesort : O(g*n²) - free : O(1) - find_rank_student : O(g*n²) de bubblesort + O(g*n) : O(g*n^3) simplification : - on peut enlever les O(1) et on garde la complexité la plus élévé donc O(g*n^3) Cela fait pour la compléxité algorithmique de sort_student : O(g*n^3) ## EXO4 compléxité algorithmique de ma fonction tri() : - pour m éléments dans chaque sous-liste n, alors la compléxité algorithmique de sort() est O(m log m) pour n sous liste on a O(n * m log m) - pour le tri la complexité algorithmique est O(n²) on prend la plus elevé et donc on pour ma fonction O(n²)