diff --git a/S2/TP4/analyse_tris.py b/S2/TP4/analyse_tris.py index b6db15c..85e0d87 100644 --- a/S2/TP4/analyse_tris.py +++ b/S2/TP4/analyse_tris.py @@ -82,7 +82,7 @@ def tri_selection(l): imin = select_min(l, i, n - 1) l[i], l[imin] = l[imin], l[i] -def tri_insertion(l, n): +def tri_insertion_base(l, n): """ list, int → ∅ n est un indice de l tel que l[0:n] soit une liste triée. La fonction déplace l'élément de rang n de telle sorte que l[0:i+1] soit triée @@ -100,6 +100,10 @@ def tri_insertion(l, n): l[k] = aux +def tri_insertion(l): + for i in range(1, len(l)): + tri_insertion_base(l, i) + partie("Travail à réaliser") section("Préliminaires") @@ -178,9 +182,9 @@ 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))[1], " ", tri_et_compte( - tri_selection, liste_alea(i+1, 0, 500))[1], " ", tri_et_compte(tri_selection, liste_decroissante(i+1))[1]) +for i in range(2, 102): + print(i-1, " ", tri_et_compte(tri_selection, liste_croissante(i))[1], " ", tri_et_compte( + tri_selection, liste_alea(i, 0, 500))[1], " ", tri_et_compte(tri_selection, liste_decroissante(i))[1]) question(2) @@ -188,6 +192,10 @@ partie("Analyse du tri par insertion") question(1) +for i in range(2, 102): + print(i-1, " ", tri_et_compte(tri_insertion, liste_croissante(i))[1], " ", tri_et_compte( + tri_insertion, liste_alea(i, 0, 500))[1], " ", tri_et_compte(tri_insertion, liste_decroissante(i))[1]) + section("Dans le meilleur des cas") question(1)