-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
69 lines (53 loc) · 1.63 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from clases import *
from simular import *
from ordenar import *
from time import time, gmtime, strftime
from numpy import arange
import matplotlib.pyplot as plt
bubbleList = []
mergeList = []
quickList = []
quickList2 = []
def generator(n):
for i in n:
vip = Lista()
for _ in range(i):
vip.adicionar(Persona(generarNombre(generarSexo()), generarEdad()))
bubbleTime(vip.lista)
mergeTime(vip.lista)
quickTime(vip.lista)
quickTime2(vip.lista)
def bubbleTime(x_list):
initialTime = time()
bubble_sort(x_list, "edad", True)
finalTime = time()
bubbleList.append(finalTime - initialTime)
def mergeTime(x_list):
initialTime = time()
merge_sort(x_list, "edad", True)
finalTime = time()
mergeList.append(finalTime - initialTime)
def quickTime(x_list):
initialTime = time()
quick_sort(x_list, 0, len(x_list) - 1)
finalTime = time()
quickList.append(finalTime - initialTime)
def quickTime2(x_list):
initialTime = time()
quick_sort_2(x_list, "edad", True)
finalTime = time()
quickList2.append(finalTime - initialTime)
# Run
if __name__ == "__main__":
x = arange(0, 300, 3)
generator(x)
fig, ax = plt.subplots()
bubbleLine, = plt.plot(x, bubbleList, '-r', label='BUBBLE')
mergeLine, = plt.plot(x, mergeList, '-b', label='MERGE')
quickLine, = plt.plot(x, quickList, '-g', label='QUICK')
quickLine2, = plt.plot(x, quickList2, '-y', label='QUICK2')
plt.xlabel('# DATA')
plt.ylabel('TIME')
leg = ax.legend()
plt.savefig('Pictures/{}'.format(strftime("%d - %H:%M:%S", gmtime())))
plt.show()