diff --git a/TP8/analyse_tris.csv b/TP8/analyse_tris.csv index 0f380e82d21b1aec67aa52613b766d849c4d529c..9bb3a28ba17062c4f9f40c830e6a1335608baf6b 100644 --- a/TP8/analyse_tris.csv +++ b/TP8/analyse_tris.csv @@ -2,101 +2,101 @@ taille;"tri séléction";"tri insertion" 0; 0.00; 0.00 1; 0.00; 0.00 2; 1.00; 1.00 - 3; 3.00; 2.76 - 4; 6.00; 4.82 - 5; 10.00; 7.52 - 6; 15.00; 11.22 - 7; 21.00; 15.06 - 8; 28.00; 19.92 - 9; 36.00; 23.42 - 10; 45.00; 28.42 - 11; 55.00; 35.60 - 12; 66.00; 41.88 - 13; 78.00; 47.32 - 14; 91.00; 56.94 - 15; 105.00; 64.18 - 16; 120.00; 70.92 - 17; 136.00; 82.80 - 18; 153.00; 92.20 - 19; 171.00; 102.88 - 20; 190.00; 109.10 - 21; 210.00; 124.82 - 22; 231.00; 130.18 - 23; 253.00; 146.66 - 24; 276.00; 161.96 - 25; 300.00; 169.40 - 26; 325.00; 179.54 - 27; 351.00; 201.26 - 28; 378.00; 212.50 - 29; 406.00; 224.52 - 30; 435.00; 245.34 - 31; 465.00; 260.58 - 32; 496.00; 271.32 - 33; 528.00; 295.56 - 34; 561.00; 307.54 - 35; 595.00; 334.18 - 36; 630.00; 358.66 - 37; 666.00; 367.52 - 38; 703.00; 380.28 - 39; 741.00; 410.68 - 40; 780.00; 418.60 - 41; 820.00; 455.84 - 42; 861.00; 463.90 - 43; 903.00; 486.88 - 44; 946.00; 501.62 - 45; 990.00; 546.30 - 46; 1035.00; 562.72 - 47; 1081.00; 590.30 - 48; 1128.00; 616.72 - 49; 1176.00; 623.34 - 50; 1225.00; 666.34 - 51; 1275.00; 674.36 - 52; 1326.00; 713.56 - 53; 1378.00; 734.34 - 54; 1431.00; 769.80 - 55; 1485.00; 780.88 - 56; 1540.00; 833.92 - 57; 1596.00; 844.72 - 58; 1653.00; 890.36 - 59; 1711.00; 914.04 - 60; 1770.00; 939.12 - 61; 1830.00; 975.28 - 62; 1891.00; 1026.10 - 63; 1953.00; 1023.50 - 64; 2016.00; 1064.12 - 65; 2080.00; 1089.02 - 66; 2145.00; 1156.74 - 67; 2211.00; 1169.76 - 68; 2278.00; 1213.86 - 69; 2346.00; 1217.68 - 70; 2415.00; 1242.02 - 71; 2485.00; 1317.76 - 72; 2556.00; 1313.18 - 73; 2628.00; 1363.12 - 74; 2701.00; 1418.40 - 75; 2775.00; 1466.94 - 76; 2850.00; 1496.98 - 77; 2926.00; 1540.84 - 78; 3003.00; 1581.18 - 79; 3081.00; 1583.32 - 80; 3160.00; 1653.38 - 81; 3240.00; 1701.74 - 82; 3321.00; 1769.40 - 83; 3403.00; 1774.48 - 84; 3486.00; 1828.00 - 85; 3570.00; 1857.48 - 86; 3655.00; 1899.12 - 87; 3741.00; 1926.82 - 88; 3828.00; 2014.10 - 89; 3916.00; 2011.46 - 90; 4005.00; 2048.14 - 91; 4095.00; 2110.86 - 92; 4186.00; 2201.62 - 93; 4278.00; 2229.68 - 94; 4371.00; 2297.28 - 95; 4465.00; 2349.78 - 96; 4560.00; 2348.66 - 97; 4656.00; 2444.30 - 98; 4753.00; 2462.70 - 99; 4851.00; 2497.82 -100; 4950.00; 2573.92 + 3; 3.00; 2.74 + 4; 6.00; 5.02 + 5; 10.00; 7.78 + 6; 15.00; 10.72 + 7; 21.00; 14.46 + 8; 28.00; 19.26 + 9; 36.00; 23.40 + 10; 45.00; 28.70 + 11; 55.00; 36.62 + 12; 66.00; 42.40 + 13; 78.00; 49.06 + 14; 91.00; 55.00 + 15; 105.00; 66.02 + 16; 120.00; 72.66 + 17; 136.00; 80.52 + 18; 153.00; 88.28 + 19; 171.00; 100.66 + 20; 190.00; 110.00 + 21; 210.00; 121.36 + 22; 231.00; 134.48 + 23; 253.00; 145.72 + 24; 276.00; 157.60 + 25; 300.00; 168.24 + 26; 325.00; 182.66 + 27; 351.00; 202.28 + 28; 378.00; 211.84 + 29; 406.00; 229.10 + 30; 435.00; 237.34 + 31; 465.00; 257.62 + 32; 496.00; 280.76 + 33; 528.00; 297.62 + 34; 561.00; 308.74 + 35; 595.00; 329.36 + 36; 630.00; 352.82 + 37; 666.00; 364.36 + 38; 703.00; 373.70 + 39; 741.00; 400.30 + 40; 780.00; 420.70 + 41; 820.00; 442.96 + 42; 861.00; 466.44 + 43; 903.00; 491.80 + 44; 946.00; 507.06 + 45; 990.00; 515.90 + 46; 1035.00; 562.40 + 47; 1081.00; 587.42 + 48; 1128.00; 617.20 + 49; 1176.00; 641.52 + 50; 1225.00; 668.16 + 51; 1275.00; 692.02 + 52; 1326.00; 705.94 + 53; 1378.00; 731.26 + 54; 1431.00; 762.94 + 55; 1485.00; 796.98 + 56; 1540.00; 835.22 + 57; 1596.00; 844.16 + 58; 1653.00; 894.18 + 59; 1711.00; 901.58 + 60; 1770.00; 965.52 + 61; 1830.00; 946.44 + 62; 1891.00; 989.04 + 63; 1953.00; 1041.92 + 64; 2016.00; 1067.34 + 65; 2080.00; 1086.92 + 66; 2145.00; 1147.50 + 67; 2211.00; 1147.66 + 68; 2278.00; 1199.22 + 69; 2346.00; 1250.56 + 70; 2415.00; 1282.12 + 71; 2485.00; 1277.20 + 72; 2556.00; 1355.68 + 73; 2628.00; 1371.80 + 74; 2701.00; 1409.32 + 75; 2775.00; 1437.82 + 76; 2850.00; 1504.92 + 77; 2926.00; 1549.32 + 78; 3003.00; 1590.16 + 79; 3081.00; 1610.34 + 80; 3160.00; 1655.40 + 81; 3240.00; 1677.04 + 82; 3321.00; 1726.62 + 83; 3403.00; 1795.92 + 84; 3486.00; 1818.54 + 85; 3570.00; 1878.28 + 86; 3655.00; 1891.28 + 87; 3741.00; 1955.90 + 88; 3828.00; 2005.50 + 89; 3916.00; 2043.84 + 90; 4005.00; 2083.08 + 91; 4095.00; 2119.16 + 92; 4186.00; 2136.28 + 93; 4278.00; 2206.50 + 94; 4371.00; 2254.80 + 95; 4465.00; 2332.54 + 96; 4560.00; 2357.02 + 97; 4656.00; 2419.14 + 98; 4753.00; 2504.20 + 99; 4851.00; 2505.34 +100; 4950.00; 2560.66 diff --git a/TP8/analyse_tris2.py b/TP8/analyse_tris2.py index 7946ec383689160df1b1cd1fbf3d24568783fb95..2779a37b1cb0b27cb4ed6a172413f055f6c38691 100755 --- a/TP8/analyse_tris2.py +++ b/TP8/analyse_tris2.py @@ -16,6 +16,8 @@ from compare import compare from ap_decorators import count from tris import * from functools import cmp_to_key +import timeit +from tp8 import * ################################################ # ANALYSE EMPIRIQUE DES TRIS # @@ -43,7 +45,43 @@ def analyser_tri(tri: Callable[[list[T], Callable[[T, T], int]], NoneType], return res / nbre_essais def tri_sort(l: list[T], compare: Callable[[T, T], int]) -> None: + """à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + + """ + l.sort(key = cmp_to_key(compare)) + + +def tri_select(lst): + """à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ + + """ + + for i in range(len(lst)): + min_idx = i + for j in range(i+1, len(lst)): + if lst[j] < lst[min_idx]: + min_idx = j + lst[i], lst[min_idx] = lst[min_idx], lst[i] + + + +TAILLE_MAX = 100 +number = 5000 + +for t in range(1, TAILLE_MAX + 1): + lst = liste_alea(t) + time_taken = timeit.timeit(stmt='tri_select(lst)', setup='from __main__ import tri_select, liste_alea; lst=liste_alea({})'.format(t), number=number) + print("Temps d'exécution pour une liste de taille", t, ":", time_taken, "secondes") + if (__name__ == '__main__'): diff --git a/TP8/tris_nbcomp.png b/TP8/tris_nbcomp.png index 23313899895a26ae5533235b6f36fccd0aba9d48..5896719ba1be115caf7b0a5247f8805cd6cf1564 100644 Binary files a/TP8/tris_nbcomp.png and b/TP8/tris_nbcomp.png differ