From bf114437afc9907d12707771f352d076e9047478 Mon Sep 17 00:00:00 2001 From: genique Date: Tue, 26 Nov 2024 11:23:20 +0100 Subject: [PATCH] tous les exos --- README.md | 31 +++++++++++++++++++++++++++++++ tri.py | 13 +++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tri.py diff --git a/README.md b/README.md index 0bc2793..8cf3f3e 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,34 @@ ## 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²) \ No newline at end of file diff --git a/tri.py b/tri.py new file mode 100644 index 0000000..232cea3 --- /dev/null +++ b/tri.py @@ -0,0 +1,13 @@ +def tri(t): + # Trier chaque sous-liste individuellement + for tab in t: + tab.sort() + + for i in range(len(t)): + for j in range(i + 1, len(t)): + if t[i][0] > t[j][0]: + t[i], t[j] = t[j], t[i] + + print(t) + +tri([[3, 9, 6], [9, 3, 8], [10, 67, 55]])