diff --git a/S2/TP4/analyse_tris.py b/S2/TP4/analyse_tris.py index ae57b27..63040e2 100644 --- a/S2/TP4/analyse_tris.py +++ b/S2/TP4/analyse_tris.py @@ -33,6 +33,7 @@ def question(numero): partie("Prérequis") + def comp(x, y): """ parametres @@ -53,20 +54,22 @@ def comp(x, y): else: return 1 -def select_min(l, a, b): - """ - list, int, int → int - Renvoie l'indicde d'un élément minimal de la tranche l[a:b] - CU : l est une liste de longueur n, d'éléments homogènes ordonnables, et a et b deux indices tels - que 0 ≤ a < b ≤ n - """ - assert 0 <= a < b <= len(n) - imin = a - for i in range(a + 1, b): - if comp(l[i], imin) == -1 - imin = i - return imin +def select_min(l, a, b): + """ + list, int, int → int + Renvoie l'indicde d'un élément minimal de la tranche l[a:b] + CU : l est une liste de longueur n, d'éléments homogènes ordonnables, et a et b deux indices tels + que 0 ≤ a < b ≤ n + """ + assert 0 <= a < b <= len(n) + + imin = a + for i in range(a + 1, b): + if comp(l[i], imin) == -1 + imin = i + return imin + def tri_select_min(l): """ @@ -84,6 +87,7 @@ section("Préliminaires") question(1) + def liste_croissante(n): """ int → list(int) @@ -134,6 +138,10 @@ partie("Analyse du tri par sélection") question(1) +for i in range(1, 101): + print(i, " ", tri_et_compte(tri_selection, liste_croissante(i))[1], " ", tri_et_compte( + tri_selection, liste_decroissante(i))[1], " ", tri_et_compte(tri_selection, liste_alea(i, 0, 500))[1]) + question(2) partie("Analyse du tri par insertion")