Ajout du calcul pour tout les tris

master
Rémi LAVERGNE 6 months ago
parent 8e8817a04e
commit 6290c9810e
No known key found for this signature in database
GPG Key ID: CA264B55E97FD220

@ -187,24 +187,35 @@ def recherche_dichoto(T, val):
###################################
# Mesure du temps d'exécution #
###################################
def mesure_temps_execution(algo, tailles):
temps = []
for taille in tailles:
data = [random.randint(1, 1000) for _ in range(taille)]
debut = time.time()
algo(data)
fin = time.time()
temps.append(fin - debut)
return temps
for _ in range(5): # Moyenne pour 5 exécutions de chaque taille
T = [random.randint(1, 1000) for _ in range(taille)]
debut = time.time()
algo(T)
temps.append(time.time() - debut)
return [sum(temps[i:i+5])/5 for i in range(0, len(temps), 5)] # Moyenne
tailles = [100, 500, 1000, 5000, 10000]
temps_tri_bulles = mesure_temps_execution(triBulles, tailles)
temps_tri_insertion = mesure_temps_execution(triInsertion, tailles)
temps_tri_fusion = mesure_temps_execution(triFusion, tailles)
plt.plot(tailles, temps_tri_bulles, label='Tri à bulles', marker='o')
plt.plot(tailles, temps_tri_insertion, label='Tri par insertion', marker='o')
plt.plot(tailles, temps_tri_fusion, label='Tri fusion', marker='o')
plt.plot(tailles, temps_tri_bulles, label='Tri à bulles')
plt.xlabel('Taille des données')
plt.ylabel('Temps d\'exécution (s)')
plt.title('Temps d\'exécution du tri à bulles')
plt.xlabel('Taille des données\n(Tableaux d\'entiers (int) aléatoires)')
plt.ylabel('Temps d\'exécution (secondes)')
plt.title('Temps d\'exécution des algorithmes de tri')
plt.legend()
plt.grid()
plt.show()
cProfile.run('triBulles([random.randint(1, 1000) for _ in range(10000)])')
cProfile.run('triBulles([random.randint(1, 1000) for _ in range(10000)])') # Profileur de Python
# Il permet de mesurer de façon précise le temps d'exécution de chaque fonction et ligne.
Loading…
Cancel
Save