duree d’execution d’un programme
import random import time debut=time.time() t=[] for i in range(100000): t.append(random.randint(0,10)) duree=time.time()-debut print(duree) >>>>0.15374755859375
nuage de points
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()
visualiser la duree de création d’un tableau en fonction de sa longueur n
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()
#toute cette partie c'est de la mise en page, couleur et presentation. 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');
#partie d'import import time import matplotlib.pyplot as plt import numpy as np import random #definition des tableaux 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 #calculs et show 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.show()
ici les resultats de la comparaison de tri:
L’ordinateur viens de tester 3 techniques de tri et a calculé leur temps d’execution. On peut voir que le tri sélection, code que nous avons codé et celui d’insertion ont beaucoup plus de temps d’execution que le tri sort qui est fait par python. Plus, il n’augmente pas celon la grandeur des tableaux. Pour les grandes entreprises la methode sort est bien meilleure.
Test avec des tableaux de 20
#j'ai seulement modifié cette partie def duree_tris(n): t1=list(np.random.randint(20,size=n)) t2=t1.copy() t3=t1.copy() debut=time.time() tri_selection(t1) duree_selection=time.time()-debut debut=time.time() tri_insertion(t2) duree_insertion=time.time()-debut debut=time.time() t3.sort() duree_sort=time.time()-debut return duree_selection,duree_insertion,duree_sort x=[(i)*5**3 for i in range(20)] y=[duree_tris(val) for val in x] y1=[y[i][0] for i in range(20)] y2=[y[i][1] for i in range(20)] y3=[y[i][2] for i in range(20)]
On voit que on a obtiens une echelle plus petite et donc plus precise. Le tri sort est la methode la plus rapide.