Tableau avec des valeurs aléatoires à trier :
import random
t=[]
n=10
Max=10
for i in range(n):
t.append(random.randint(0,Max))
Durée d’exécution d’un programme :
import time
import random
debut=time.time()
t=[]
for i in range(100000):
t.append(random.randint(0,10))
duree=time.time()-debut
print(duree)
On utilise ensuite l’outil « matplotlib » qui permet de retranscrire le code dans un tableau :
import matplotlib.pyplot as plt x=[i for i in range(10)] y=[-2*xval+10 for xval in x] plt.scatter(x,y) plt.show()
Durée de création d’un tableau en fonction de sa longueur :
import matplotlib.pyplot as plt
import time
import random
def duree_tableau_alea2(n):
t=[]
debut=time.time()
for i in range(n):
t.append(random.randint(0,10))
duree=time.time()-debut
return duree
x=[i*10**5 for i in range(10)]
y2=[duree_tableau_alea2(val) for val in x]
plt.scatter(x,y2)
plt.show()
Comparaisons et options pour les tracé :
import time
import matplotlib.pyplot as plt
import numpy as np
import random
def duree_tableau_alea(n):
debut=time.time()
t=[random.randint(0,10) for i in range(n)]
duree=time.time()-debut
return duree
def duree_tableau_alea1(n):
debut=time.time()
t=list(np.random.randint(10,size=n))
duree=time.time()-debut
return duree
def duree_tableau_alea2(n):
t=[]
debut=time.time()
for i in range(n):
t.append(random.randint(0,6))
duree=time.time()-debut
return duree
x=[(i)*10**5 for i in range(5)]
y=[duree_tableau_alea(val) for val in x]
y1=[duree_tableau_alea1(val) for val in x]
y2=[duree_tableau_alea2(val) for val in x]
plt.scatter(x,y, color='coral', linestyle='solid', label='liste en compréhension')
plt.scatter(x,y1, color='navy', linestyle='solid', label='tableau numpy')
plt.scatter(x,y2, color='green', linestyle='solid', label='liste avec append')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.title('durée de céation d''un tableau de n valeurs aléatoires ',color="navy", fontsize=12)
ax = ax.set(xlabel='n ', ylabel='durée (en s)')
plt.legend(loc='center right');
plt.show()
Aucune réponse