|
@@ -107,6 +107,7 @@ def heapify(listaHeap, largoLista, i):
|
107
|
107
|
def heapSort(listaHeap):
|
108
|
108
|
#definan el algoritmo de ordenamiento heapsort
|
109
|
109
|
|
|
110
|
+
|
110
|
111
|
for i in range(len(listaHeap) / 2, -1, -1):
|
111
|
112
|
heapify(listaHeap, len(listaHeap), i)
|
112
|
113
|
|
|
@@ -116,8 +117,12 @@ def heapSort(listaHeap):
|
116
|
117
|
return listaHeap
|
117
|
118
|
|
118
|
119
|
return lista
|
|
120
|
+#Se le hace referencia y se le da credito al codigo que utilice de referencia
|
|
121
|
+
|
|
122
|
+ return lista
|
119
|
123
|
#Se le da credito al programador de la funcion al final del codigo
|
120
|
124
|
|
|
125
|
+
|
121
|
126
|
def quickSort(lista):
|
122
|
127
|
#definan el algoritmo de ordenamiento quicksort
|
123
|
128
|
return lista
|
|
@@ -184,6 +189,7 @@ for i in range(veces):
|
184
|
189
|
heapSort(listaHeap) #ejecutamos el algoritmo heapSort
|
185
|
190
|
acumulaHeap+=time.clock()-t1 #acumulamos el tiempo de ejecucion
|
186
|
191
|
|
|
192
|
+
|
187
|
193
|
t1 = time.clock() #seteamos el tiempo al empezar
|
188
|
194
|
quickSort(listaQuick) #ejecutamos el algoritmo quickSort
|
189
|
195
|
acumulaQuick+=time.clock()-t1 #acumulamos el tiempo de ejecucion
|
|
@@ -192,6 +198,15 @@ for i in range(veces):
|
192
|
198
|
shellSort(listaShell) #ejecutamos el algoritmo shellSort
|
193
|
199
|
acumulaShell+=time.clock()-t1 #acumulamos el tiempo de ejecucion
|
194
|
200
|
|
|
201
|
+ t1 = time.clock() #seteamos el tiempo al empezar
|
|
202
|
+ quickSort(lista) #ejecutamos el algoritmo quickSort
|
|
203
|
+ acumulaQuick+=time.clock()-t1 #acumulamos el tiempo de ejecucion
|
|
204
|
+
|
|
205
|
+ t1 = time.clock() #seteamos el tiempo al empezar
|
|
206
|
+ shellSort(lista) #ejecutamos el algoritmo shellSort
|
|
207
|
+ acumulaShell+=time.clock()-t1 #acumulamos el tiempo de ejecucion"""
|
|
208
|
+
|
|
209
|
+
|
195
|
210
|
#imprimos los resultados
|
196
|
211
|
print "Promedio de tiempo de ejecucion de "+ str(veces) +" listas de largo " + str(largoLista)
|
197
|
212
|
print "MergeSort " + str(acumulaMerge/veces) + " segundos"
|
|
@@ -199,3 +214,7 @@ print "HeapSort " + str(acumulaHeap/veces) + " segundos"
|
199
|
214
|
print "QuickSort " + str(acumulaQuick/veces) + " segundos"
|
200
|
215
|
print "ShellSort " + str(acumulaShell/veces) + " segundos"
|
201
|
216
|
|
|
217
|
+
|
|
218
|
+#Referencia:
|
|
219
|
+#https://stackoverflow.com/questions/18262306/quicksort-with-python
|
|
220
|
+
|