forked from menault/TD4_DEV51_Qualite_Algo
		
	
		
		
		
		
		
			This branch is 1 commit behind menault/TD4_DEV51_Qualite_Algo:main
		
	
	
RAPPORT
EXO2
- 
function_1(tableau1, tableau2) : - Complexité algorithmique : O(n * m)
- Dans le pire cas, où nest la taille du tableau 1 etmla taille du tableau 2.
 
- Dans le pire cas, où 
 
- Complexité algorithmique : O(n * m)
- 
function_2(x) : - Complexité algorithmique : O(x)
- La boucle whilefaitxitérations, etxest décrémentée de 1 jusqu'à 0.
 
- La boucle 
 
- Complexité algorithmique : O(x)
- 
function_3(x) : - Complexité algorithmique : O(1)
- En fonction de la valeur de x, une des trois conditions exécute une opération simple.
 
- En fonction de la valeur de 
 
- Complexité algorithmique : O(1)
EXO3
Pour cette fonction, on a :
- La première boucle for : O(g)
- Malloc : O(1)
- Deuxième boucle for : O(g * n)
- Bubblesort : O(g * n²)
- Free : O(1)
- find_rank_student : O(g * n²) pour Bubblesort + O(g * n) : O(g * n^3)
Simplification :
- On peut enlever les O(1) et conserver la complexité la plus élevée, donc O(g * n^3).
Complexité algorithmique pour sort_student : O(g * n^3)
EXO4
Voici le code :
def tri(t):
    for tab in t:
        for i in range(len(tab)):
            for j in range(len(tab) - 1):
                if tab[j] > tab[j + 1]:
                    tab[j], tab[j + 1] = tab[j + 1], tab[j]
    
    for i in range(len(t)):
        for j in range(len(t) - 1):
            if t[j][0] > t[j + 1][0]:
                t[j], t[j + 1] = t[j + 1], t[j]
    
    print(t)
tri([[3, 9, 6], [9, 3, 8], [10, 67, 55]])
Complexité algorithmique de ma fonction tri() :
- Pour m éléments, la complexité algorithmique de chaque sous-liste est O(m²), multipliée par le nombre de sous-listes, cela fait : O(n * m²).
- Pour le tri final, la complexité algorithmique est O(n²).
On garde la plus élevée, donc pour ma fonction : O(n * m²) + O(n²).
Description
				
					Languages
				
				
								
								
									Python
								
								100%