Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

Untitled

a guest Aug 10th, 2018 62 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. from random import randint
  2.  
  3. from timeit import timeit
  4.  
  5. import matplotlib.pyplot as plt
  6.  
  7. def desenhaGrafico(time,time2, tam):
  8.     plt.title("quick Sort")
  9.     plt.plot(tam, time, label="Tempo M├ędio", color = 'blue')
  10.     plt.plot(tam, time2 , label="Pior Tempo", color='red')
  11.     plt.legend(bbox_to_anchor=(1, 1), bbox_transform=plt.gcf().transFigure)
  12.     xl = "N"
  13.     yl = "Tempo"
  14.     plt.ylabel(yl)
  15.     plt.xlabel(xl)
  16.     plt.show()
  17.  
  18. def geraLista(tam):
  19.     lista = []
  20.     for i in range(tam):
  21.         lista.append(randint(1,1*tam))
  22.     return lista
  23.  
  24. def geraListaInversa(tam):
  25.     lista=[]
  26.     for i in range(tam,0,-1):
  27.         lista.append(i)
  28.     return lista
  29.  
  30. def quick_sort(lista):
  31.     if len(lista) <= 1:
  32.         return lista
  33.  
  34.     u = int(len(lista)/2)
  35.     pivo = lista[u]
  36.  
  37.     meio=[]
  38.     esquerda=[]
  39.     direita=[]
  40.    
  41.     for i in lista:
  42.         if i == pivo:
  43.             meio.append(i)
  44.         elif i < pivo:
  45.             esquerda.append(i)
  46.         else:
  47.             direita.append(i)
  48.    
  49.     return quick_sort(esquerda) + meio + quick_sort(direita)
  50.  
  51.  
  52. tam = [1000,10000,20000,30000,40000,50000,100000]
  53.    
  54. def caso_medio():
  55.     temp=[]
  56.     for i in tam:
  57.         lista=geraLista(i)
  58.    
  59.         tempo = timeit("quick_sort({})".format(lista),setup="from __main__ import quick_sort",number=1)
  60.         temp.append(tempo)
  61.         print(tempo)
  62.  
  63.     print('\n')
  64.     return temp
  65.  
  66. def pior_caso():
  67.     temp=[]
  68.     for i in tam:
  69.         lista=geraListaInversa(i)
  70.    
  71.         tempo = timeit("quick_sort({})".format(lista),setup="from __main__ import quick_sort",number=1)
  72.         temp.append(tempo)
  73.         print(tempo)
  74.     return temp
  75.  
  76. desenhaGrafico(caso_medio(), pior_caso(), tam)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top