diff --git a/TP7/analyse-tris/analyse_tris.csv b/TP7/analyse-tris/analyse_tris.csv index b679da25df8ac52db9fc3d28e2673e75f7f28072..8c2c3d5bec7d9df8832888ce14530033a4a493e6 100644 --- a/TP7/analyse-tris/analyse_tris.csv +++ b/TP7/analyse-tris/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.62 - 4; 6.00; 4.90 - 5; 10.00; 7.54 - 6; 15.00; 10.90 - 7; 21.00; 14.56 - 8; 28.00; 19.96 - 9; 36.00; 23.84 - 10; 45.00; 29.12 - 11; 55.00; 35.24 - 12; 66.00; 42.72 - 13; 78.00; 48.12 - 14; 91.00; 55.06 - 15; 105.00; 64.22 - 16; 120.00; 72.72 - 17; 136.00; 82.22 - 18; 153.00; 91.08 - 19; 171.00; 100.86 - 20; 190.00; 109.80 - 21; 210.00; 116.96 - 22; 231.00; 136.72 - 23; 253.00; 142.74 - 24; 276.00; 154.70 - 25; 300.00; 172.60 - 26; 325.00; 185.50 - 27; 351.00; 197.92 - 28; 378.00; 213.90 - 29; 406.00; 228.38 - 30; 435.00; 242.74 - 31; 465.00; 264.10 - 32; 496.00; 273.96 - 33; 528.00; 297.28 - 34; 561.00; 308.94 - 35; 595.00; 328.56 - 36; 630.00; 347.48 - 37; 666.00; 369.30 - 38; 703.00; 386.26 - 39; 741.00; 417.00 - 40; 780.00; 429.88 - 41; 820.00; 438.68 - 42; 861.00; 476.60 - 43; 903.00; 490.30 - 44; 946.00; 514.28 - 45; 990.00; 535.98 - 46; 1035.00; 546.88 - 47; 1081.00; 598.08 - 48; 1128.00; 605.58 - 49; 1176.00; 639.08 - 50; 1225.00; 651.50 - 51; 1275.00; 689.16 - 52; 1326.00; 712.04 - 53; 1378.00; 746.86 - 54; 1431.00; 768.66 - 55; 1485.00; 794.12 - 56; 1540.00; 819.04 - 57; 1596.00; 854.84 - 58; 1653.00; 890.52 - 59; 1711.00; 931.04 - 60; 1770.00; 951.98 - 61; 1830.00; 968.66 - 62; 1891.00; 1008.38 - 63; 1953.00; 1037.84 - 64; 2016.00; 1090.42 - 65; 2080.00; 1080.92 - 66; 2145.00; 1127.48 - 67; 2211.00; 1188.08 - 68; 2278.00; 1207.70 - 69; 2346.00; 1225.60 - 70; 2415.00; 1281.40 - 71; 2485.00; 1313.32 - 72; 2556.00; 1353.52 - 73; 2628.00; 1379.60 - 74; 2701.00; 1422.80 - 75; 2775.00; 1469.98 - 76; 2850.00; 1506.84 - 77; 2926.00; 1535.16 - 78; 3003.00; 1578.44 - 79; 3081.00; 1621.58 - 80; 3160.00; 1655.34 - 81; 3240.00; 1699.60 - 82; 3321.00; 1717.26 - 83; 3403.00; 1794.74 - 84; 3486.00; 1826.90 - 85; 3570.00; 1874.66 - 86; 3655.00; 1931.14 - 87; 3741.00; 1935.44 - 88; 3828.00; 2021.40 - 89; 3916.00; 2035.10 - 90; 4005.00; 2128.82 - 91; 4095.00; 2130.34 - 92; 4186.00; 2177.56 - 93; 4278.00; 2271.38 - 94; 4371.00; 2261.42 - 95; 4465.00; 2299.68 - 96; 4560.00; 2374.12 - 97; 4656.00; 2422.98 - 98; 4753.00; 2486.74 - 99; 4851.00; 2532.82 -100; 4950.00; 2560.18 + 3; 3.00; 2.70 + 4; 6.00; 5.00 + 5; 10.00; 7.42 + 6; 15.00; 11.08 + 7; 21.00; 15.02 + 8; 28.00; 19.46 + 9; 36.00; 22.76 + 10; 45.00; 29.34 + 11; 55.00; 36.10 + 12; 66.00; 42.16 + 13; 78.00; 48.64 + 14; 91.00; 55.22 + 15; 105.00; 63.70 + 16; 120.00; 72.70 + 17; 136.00; 83.50 + 18; 153.00; 92.14 + 19; 171.00; 101.14 + 20; 190.00; 109.58 + 21; 210.00; 125.48 + 22; 231.00; 133.68 + 23; 253.00; 141.48 + 24; 276.00; 154.30 + 25; 300.00; 171.96 + 26; 325.00; 184.44 + 27; 351.00; 193.64 + 28; 378.00; 212.40 + 29; 406.00; 231.78 + 30; 435.00; 244.28 + 31; 465.00; 260.20 + 32; 496.00; 275.90 + 33; 528.00; 292.84 + 34; 561.00; 302.56 + 35; 595.00; 330.30 + 36; 630.00; 345.34 + 37; 666.00; 366.86 + 38; 703.00; 387.52 + 39; 741.00; 401.46 + 40; 780.00; 430.58 + 41; 820.00; 445.86 + 42; 861.00; 464.26 + 43; 903.00; 479.92 + 44; 946.00; 514.20 + 45; 990.00; 536.68 + 46; 1035.00; 553.74 + 47; 1081.00; 576.56 + 48; 1128.00; 612.98 + 49; 1176.00; 624.00 + 50; 1225.00; 663.02 + 51; 1275.00; 681.04 + 52; 1326.00; 710.64 + 53; 1378.00; 750.00 + 54; 1431.00; 783.20 + 55; 1485.00; 787.38 + 56; 1540.00; 837.78 + 57; 1596.00; 850.50 + 58; 1653.00; 881.98 + 59; 1711.00; 896.46 + 60; 1770.00; 963.60 + 61; 1830.00; 966.84 + 62; 1891.00; 998.28 + 63; 1953.00; 1022.86 + 64; 2016.00; 1040.34 + 65; 2080.00; 1110.04 + 66; 2145.00; 1133.78 + 67; 2211.00; 1167.56 + 68; 2278.00; 1216.76 + 69; 2346.00; 1223.36 + 70; 2415.00; 1299.94 + 71; 2485.00; 1288.88 + 72; 2556.00; 1346.62 + 73; 2628.00; 1379.68 + 74; 2701.00; 1433.14 + 75; 2775.00; 1449.96 + 76; 2850.00; 1491.20 + 77; 2926.00; 1517.32 + 78; 3003.00; 1581.40 + 79; 3081.00; 1583.22 + 80; 3160.00; 1666.78 + 81; 3240.00; 1709.74 + 82; 3321.00; 1733.52 + 83; 3403.00; 1768.52 + 84; 3486.00; 1836.30 + 85; 3570.00; 1891.84 + 86; 3655.00; 1858.28 + 87; 3741.00; 1990.32 + 88; 3828.00; 1997.30 + 89; 3916.00; 2035.36 + 90; 4005.00; 2082.44 + 91; 4095.00; 2100.02 + 92; 4186.00; 2167.74 + 93; 4278.00; 2257.30 + 94; 4371.00; 2247.90 + 95; 4465.00; 2339.64 + 96; 4560.00; 2363.40 + 97; 4656.00; 2422.96 + 98; 4753.00; 2462.92 + 99; 4851.00; 2530.06 +100; 4950.00; 2574.66 diff --git a/TP7/analyse-tris/analyse_tris2.py b/TP7/analyse-tris/analyse_tris2.py index be9e9189425a29f967e009520964646b6e8e78b1..3a2fa65ea5d5191ed1bed3b8b88b315769285567 100755 --- a/TP7/analyse-tris/analyse_tris2.py +++ b/TP7/analyse-tris/analyse_tris2.py @@ -61,7 +61,7 @@ if (__name__ == '__main__'): c_select[t] = analyser_tri(tri_select, 1, t) # inutile de moyenner pour le tri par sélection c_insert[t] = analyser_tri(tri_insert, NB_ESSAIS, t) - c_sort[t] = analyser_tri(tri_sort, 1, t) + c_sort[t] = analyser_tri(tri_sort,NB_ESSAIS , t) # Sauvegarde des données calculées dans un fichier au format CSV prem_ligne = 'taille;"tri séléction";"tri insertion"\n' diff --git a/TP7/analyse-tris/tp7.py b/TP7/analyse-tris/tp7.py index 286a5d594cd498d5ca998d83e9c4e472264bd4f8..c20c1a8910f1097baa2b5b4f251dd17b9ec34f96 100644 --- a/TP7/analyse-tris/tp7.py +++ b/TP7/analyse-tris/tp7.py @@ -1,6 +1,6 @@ # TP7 AP Analyse empirique des tris # Belkacemi Melissa -# 13/03/2024 +# 20/03/2024 #Préliminaires @@ -33,5 +33,36 @@ nvle_compare = count(compare) #Évaluation expérimentale de la complexité en temps import timeit +#Cas du tri par selection + +TAILLE_MAX = 100 +""" +c_select = [0.0] * (TAILLE_MAX + 1) +for t in range(TAILLE_MAX + 1): + c_select[t] = timeit.timeit(stmt='tri_select(l)', setup=f'from tp7 import liste_alea ;l=liste_alea({t});from tris import tri_select', number=5000) + + +plt.plot(list(range(TAILLE_MAX + 1)), c_select, 'b.', label='Tri sélection') + +plt.title('Tris : temps de comparaisons') +plt.legend() +plt.xlabel('n = taille des listes') +plt.ylabel('c(n) = temps de comparaisons') +plt.savefig('tris_select_tmpscomp.png') +plt.show() +""" +#Cas du tri par insertion +globals=globals() +#meilleur des cas +meil_cas=[0.0] * (TAILLE_MAX + 1) +for t in range(TAILLE_MAX + 1): + liste=liste_alea(t) + tmp=timeit.timeit(stmt=f'tri_insert({liste})', setup='from tris import tri_insert', number=5000) + meil_cas[t]=tmp + + + + + diff --git a/TP7/analyse-tris/tris_nbcomp.png b/TP7/analyse-tris/tris_nbcomp.png index e17e8c6a3f44b28019c7fde9ec262bdc4a6a2042..7c60ab6ce87c293f962ab075bba539600ae15094 100644 Binary files a/TP7/analyse-tris/tris_nbcomp.png and b/TP7/analyse-tris/tris_nbcomp.png differ diff --git a/TP7/analyse-tris/tris_tmpscomp.png b/TP7/analyse-tris/tris_tmpscomp.png new file mode 100644 index 0000000000000000000000000000000000000000..c89b14b616eccc79dcff89a9370c934e15a7115c Binary files /dev/null and b/TP7/analyse-tris/tris_tmpscomp.png differ