ソースを参照

Adding cambios super finales.

diegoaperez 3 年 前
コミット
6c495c14b6
共有1 個のファイルを変更した2 個の追加87 個の削除を含む
  1. 2
    87
      sorting.py

+ 2
- 87
sorting.py ファイルの表示

@@ -11,74 +11,13 @@ from random import randint
11 11
 import time
12 12
 
13 13
 def mergeSort(lista):
14
-        #Camila Vazquez Rodriguez
15
-	#definan el algoritmo de ordenamiento mergesort
16
-        if len(lista) > 1:
17
-                mid = len(lista)//2
18
-                L = lista[:mid]
19
-                R = lista[mid:]
20
-
21
-                mergeSort(L)
22
-                mergeSort(R)
23
-
24
-                i = 0
25
-                j = 0
26
-                k = 0
27
-
28
-        while i < len(L) and j < len(R):
29
-                if L[i] <= R[j]:
30
-                        lista[k] = L[i]
31
-                        i += 1
32
-                else:
33
-                        lista[k] = R[j]
34
-                        j += 1
35
-                k += 1
36
-
37
-        while i < len(L):
38
-                lista[k] = L[i]
39
-                i += 1
40
-                k += 1
41
-
42
-        while j < len(R):
43
-                lista[k] = R[j]
44
-                j += 1
45
-                k += 1
46
-
47
-        return lista
14
+    return lista
48 15
 
49 16
 def heapSort(lista):
50
-	#definan el algoritmo de ordenamiento heapsort
51
-	"""
52
-	Carlos Hernández
53
-	Implementación de heapSort.
54
-	"""
55
-	def max_heapify(lista, idx, heap_size):
56
-		"""Convertir el nodo `idx` y sus descendientes en un max heap."""
57
-		left_idx = 2 * idx + 1
58
-		right_idx = 2 * idx + 2
59
-		largestval_idx = idx
60
-		if left_idx < heap_size and lista[idx] < lista[left_idx]:
61
-			largestval_idx = left_idx
62
-		if right_idx < heap_size and lista[largestval_idx] < lista[right_idx]:
63
-			largestval_idx = right_idx
64
-		if largestval_idx != idx:
65
-			lista[idx], lista[largestval_idx] = lista[largestval_idx], lista[idx]
66
-			max_heapify(lista, largestval_idx, heap_size)
67
-
68
-	def build_max_heap(lista, heap_size):
69
-		"""Construir un max heap the un heap dado."""
70
-		for idx in range((heap_size - 1) // 2, -1, -1):
71
-			max_heapify(lista, idx, heap_size)
72
-
73
-	heap_size = len(lista)
74
-	build_max_heap(lista, heap_size)
75
-	for idx in range(len(lista) - 1, 0, -1):
76
-		lista[0], lista[idx] = lista[idx], lista[0]
77
-		heap_size -= 1
78
-		max_heapify(lista, 0, heap_size)
79 17
 	return lista
80 18
 
81 19
 def quickSort(lista):
20
+    #Hecho por Diego Perez
82 21
 	#Establecemos los arreglos para guardar las particiones
83 22
     less = []
84 23
     equal = []
@@ -104,30 +43,6 @@ def quickSort(lista):
104 43
         return lista
105 44
 
106 45
 def shellSort(lista):
107
-	#definan el algoritmo de ordenamiento shellsort
108
-
109
-	#El algoritmo compara elementos de una lista
110
-	#que tienen una distancia fija entre ellos, la
111
-	#differencia en distancia se minimiza por cada
112
-	#iterazion del algoritmo
113
-
114
-	num = int(len(lista))
115
-	dif = int(num/2)
116
-
117
-	while dif > 0:
118
-		for i in range(int(dif),int(num)):
119
-			a = lista[i]
120
-			j = i
121
-
122
-			#por cada intervalo se reorganizara los elementos
123
-			#si se cumple la declaracion dentro del while loop
124
-			while j >= dif and lista[int(j - dif)] > a:
125
-				lista[int(j)] = lista[int(j - dif)]
126
-				j -= dif
127
-
128
-			lista[int(j)] = a
129
-		dif/= 2
130
-
131 46
 	return lista
132 47
 
133 48
 maxValor=1000 	#define el valor maximo de los elementos de la lista