1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- """
- Carlos J Corrada Bravo
- Este programa calcula el promedio de tiempo de ejecucion de cuatro algoritmos de ordenamiento
- La variable maxValor define el valor maximo de los elementos de la lista
- La variable largoLista define el largo de las listas a ordenar
- La variable veces define las veces que se va a hacer el ordenamiento
- Al final se imprimen los promedios de cada algortimo
- """
- from random import randint
- import time
-
- def mergeSort(lista,start,end):
-
- return lista
-
- def heapSort(lista):
-
- return lista
-
- def quickSort(lista):
-
- return lista
-
- def shellSort(lista):
-
- return lista
-
- maxValor=1000
- largoLista=1000
- veces=100
-
- acumulaMerge=0
- acumulaHeap=0
- acumulaQuick=0
- acumulaShell=0
-
- for i in range(veces):
- mergelista = [randint(0,maxValor) for r in range(largoLista)]
- heaplista=list(mergelista)
- quicklista=list(mergelista)
- searchlista=list(mergelista)
-
- t1 = time.process_time()
- mergeSort(mergelista,0,len(mergelista)-1)
- acumulaMerge+=time.process_time() - t1
- print(mergelista)
-
- t1 = time.process_time()
- heapSort(heaplista)
- acumulaHeap+=time.process_time() - t1
- print(heaplista)
-
- t1 = time.process_time()
- quickSort(quicklista)
- acumulaQuick+=time.process_time() - t1
- print(quicklista)
-
- t1 = time.process_time()
- shellSort(searchlista)
- acumulaShell+=time.process_time() - t1
- print(searchlista)
-
-
- print ("Promedio de tiempo de ejecucion de "+ str(veces) +" listas de largo " + str(largoLista))
- print ("MergeSort " + str(acumulaMerge/veces) + " segundos")
- print ("HeapSort " + str(acumulaHeap/veces) + " segundos")
- print ("QuickSort " + str(acumulaQuick/veces) + " segundos")
- print ("ShellSort " + str(acumulaShell/veces) + " segundos")
|