Kaynağa Gözat

añadir encoding para evitar SyntaxError

klopt 3 yıl önce
işleme
9159f45e52
1 değiştirilmiş dosya ile 63 ekleme ve 0 silme
  1. 63
    0
      sorting.py

+ 63
- 0
sorting.py Dosyayı Görüntüle

@@ -0,0 +1,63 @@
1
+# -*- coding: utf-8 -*-
2
+"""
3
+Carlos J Corrada Bravo
4
+Este programa calcula el promedio de tiempo de ejecución de cuatro algoritmos de ordenamiento
5
+La variable maxValor define el valor maximo de los elementos de la lista
6
+La variable largoLista define el largo de las listas a ordenar
7
+La variable veces define las veces que se va a hacer el ordenamiento 
8
+Al final se imprimen los promedios de cada algortimo
9
+"""
10
+from random import randint
11
+import time
12
+
13
+def mergeSort(lista):
14
+	#definan el algoritmo de ordenamiento mergesort
15
+	return lista
16
+
17
+def heapSort(lista):
18
+	#definan el algoritmo de ordenamiento heapsort
19
+	return lista
20
+
21
+def quickSort(lista):
22
+	#definan el algoritmo de ordenamiento quicksort
23
+	return lista
24
+
25
+def shellSort(lista):
26
+	#definan el algoritmo de ordenamiento shellsort
27
+	return lista
28
+
29
+maxValor=1000 	#define el valor maximo de los elementos de la lista
30
+largoLista=1000 #define el largo de las listas a ordenar
31
+veces=100 		#define las veces que se va a hacer el ordenamiento 
32
+
33
+acumulaMerge=0 	#variable para acumular el tiempo de ejecucion del mergesort
34
+acumulaHeap=0 	#variable para acumular el tiempo de ejecucion del heapsort
35
+acumulaQuick=0 	#variable para acumular el tiempo de ejecucion del quicksort
36
+acumulaShell=0 	#variable para acumular el tiempo de ejecucion del shellsort
37
+
38
+for i in range(veces):
39
+	lista = [randint(0,maxValor) for r in range(largoLista)] #creamos una lista con valores al azar
40
+
41
+	t1 = time.clock() 				#seteamos el tiempo al empezar
42
+	mergeSort(lista) 				#ejecutamos el algoritmo mergeSort
43
+	acumulaMerge+=time.clock()-t1 	#acumulamos el tiempo de ejecucion
44
+	
45
+	t1 = time.clock()				#seteamos el tiempo al empezar
46
+	heapSort(lista)					#ejecutamos el algoritmo heapSort
47
+	acumulaHeap+=time.clock()-t1 	#acumulamos el tiempo de ejecucion
48
+	
49
+	t1 = time.clock()				#seteamos el tiempo al empezar
50
+	quickSort(lista)				#ejecutamos el algoritmo quickSort
51
+	acumulaQuick+=time.clock()-t1 	#acumulamos el tiempo de ejecucion
52
+	
53
+	t1 = time.clock()				#seteamos el tiempo al empezar
54
+	shellSort(lista)				#ejecutamos el algoritmo shellSort
55
+	acumulaShell+=time.clock()-t1 	#acumulamos el tiempo de ejecucion
56
+
57
+#imprimos los resultados
58
+print "Promedio de tiempo de ejecucion de "+ str(veces) +" listas de largo " + str(largoLista)
59
+print "MergeSort " + str(acumulaMerge/veces) + " segundos"
60
+print "HeapSort " + str(acumulaHeap/veces) + " segundos"
61
+print "QuickSort " + str(acumulaQuick/veces) + " segundos"
62
+print "ShellSort " + str(acumulaShell/veces) + " segundos"
63
+