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