2 次程式碼提交

作者 SHA1 備註 提交日期
  Luis Ortiz 342019b05f Fixed comments 2 年之前
  Luis Ortiz fff3694ec5 Fixed comments 2 年之前
共有 1 個文件被更改,包括 23 次插入31 次删除
  1. 23
    31
      sorting.py

+ 23
- 31
sorting.py 查看文件

6
 La variable veces define las veces que se va a hacer el ordenamiento
6
 La variable veces define las veces que se va a hacer el ordenamiento
7
 Al final se imprimen los promedios de cada algortimo
7
 Al final se imprimen los promedios de cada algortimo
8
 """
8
 """
9
-<<<<<<< HEAD
9
+
10
 from heapq import merge
10
 from heapq import merge
11
-=======
11
+
12
 from lib2to3.pgen2.token import LESS
12
 from lib2to3.pgen2.token import LESS
13
->>>>>>> origin/quicksort
13
+
14
 from random import randint
14
 from random import randint
15
 import time
15
 import time
16
 
16
 
18
 def mergeSort(lista):
18
 def mergeSort(lista):
19
 	#definan el algoritmo de ordenamiento mergesort
19
 	#definan el algoritmo de ordenamiento mergesort
20
 	# Carla Ramos Bezares
20
 	# Carla Ramos Bezares
21
-	# Para realizar este código leí las explicaciones e implementaciones que ofrecen
21
+	# Para realizar este codigo lei las explicaciones e implementaciones que ofrecen
22
 	# GeeksforGeeks y Progamiz
22
 	# GeeksforGeeks y Progamiz
23
 
23
 
24
 	# check if the array has more than one element
24
 	# check if the array has more than one element
27
         middle = len(lista)//2
27
         middle = len(lista)//2
28
         leftHalf = lista[:middle]
28
         leftHalf = lista[:middle]
29
         rightHalf = lista[middle:]
29
         rightHalf = lista[middle:]
30
-        
30
+
31
         mergeSort(leftHalf)
31
         mergeSort(leftHalf)
32
         mergeSort(rightHalf)
32
         mergeSort(rightHalf)
33
         # declare pointers
33
         # declare pointers
44
             else:
44
             else:
45
                 lista[k] = rightHalf[j]
45
                 lista[k] = rightHalf[j]
46
                 j = j + 1
46
                 j = j + 1
47
-           
47
+
48
             k = k + 1
48
             k = k + 1
49
 
49
 
50
         # continue updating array grabbing any elements that were left
50
         # continue updating array grabbing any elements that were left
63
 def heapSort(lista):
63
 def heapSort(lista):
64
 	#definan el algoritmo de ordenamiento heapsort
64
 	#definan el algoritmo de ordenamiento heapsort
65
     #Andrea V. Nieves
65
     #Andrea V. Nieves
66
-    
67
-    
66
+
67
+
68
     #function def
68
     #function def
69
     def heapify(lista, n, i):
69
     def heapify(lista, n, i):
70
        biggest = i
70
        biggest = i
71
        left = 2*i + 1
71
        left = 2*i + 1
72
        right = 2*i + 2
72
        right = 2*i + 2
73
-       
74
-       
73
+
74
+
75
        if left < n and lista[left] > lista[i]:
75
        if left < n and lista[left] > lista[i]:
76
            biggest = left
76
            biggest = left
77
        else:
77
        else:
78
             biggest = i
78
             biggest = i
79
-            
79
+
80
        if right< n and lista[right] > lista[biggest]:
80
        if right< n and lista[right] > lista[biggest]:
81
            biggest = right
81
            biggest = right
82
-           
82
+
83
        if biggest != i:
83
        if biggest != i:
84
            lista[i], lista[biggest] = lista[biggest], lista[i]
84
            lista[i], lista[biggest] = lista[biggest], lista[i]
85
            heapify(lista,n,biggest)
85
            heapify(lista,n,biggest)
86
-    
87
-    
88
-   
89
-    
86
+
87
+
88
+
89
+
90
        #actual call
90
        #actual call
91
     n = len(lista)
91
     n = len(lista)
92
-    
92
+
93
     for i in range(n // 2 - 1, -1, -1):
93
     for i in range(n // 2 - 1, -1, -1):
94
         heapify(lista, n, i)
94
         heapify(lista, n, i)
95
-        
95
+
96
     for i in range(n - 1, 0, -1):
96
     for i in range(n - 1, 0, -1):
97
         lista[i], lista[0] = lista[0], lista[i]
97
         lista[i], lista[0] = lista[0], lista[i]
98
         heapify(lista, i, 0)
98
         heapify(lista, i, 0)
99
-        
100
-    
99
+
100
+
101
     return lista
101
     return lista
102
 
102
 
103
 def quickSort(lista):
103
 def quickSort(lista):
104
 	#definan el algoritmo de ordenamiento quicksort
104
 	#definan el algoritmo de ordenamiento quicksort
105
-<<<<<<< HEAD
106
     #Juan F. Hernandez
105
     #Juan F. Hernandez
107
     # Para este codigo se utilizo referencia de stackoverflow
106
     # Para este codigo se utilizo referencia de stackoverflow
108
 
107
 
109
     #define arreglos a utilizar
108
     #define arreglos a utilizar
110
-=======
111
 
109
 
112
->>>>>>> origin/quicksort
113
 	lowerArray = []
110
 	lowerArray = []
114
 	equalArray = []
111
 	equalArray = []
115
 	maxArray = []
112
 	maxArray = []
116
 
113
 
117
-<<<<<<< HEAD
118
     #organiza los elementos utilizando el pivote para ponerlos en orden
114
     #organiza los elementos utilizando el pivote para ponerlos en orden
119
-=======
120
->>>>>>> origin/quicksort
115
+
121
 	if len(lista) > 1:
116
 	if len(lista) > 1:
122
 		pivot = lista[0]
117
 		pivot = lista[0]
123
 		for x in lista:
118
 		for x in lista:
127
 				equalArray.append(x)
122
 				equalArray.append(x)
128
 			elif x > pivot:
123
 			elif x > pivot:
129
 				maxArray.append(x)
124
 				maxArray.append(x)
130
-            
131
-<<<<<<< HEAD
125
+
132
         #concatena arreglos en orden
126
         #concatena arreglos en orden
133
-=======
134
 
127
 
135
->>>>>>> origin/quicksort
136
 		return quickSort(lowerArray)+equalArray+quickSort(maxArray)
128
 		return quickSort(lowerArray)+equalArray+quickSort(maxArray)
137
 
129
 
138
-	else: 
130
+	else:
139
 		return lista
131
 		return lista
140
 
132
 
141
 def shellSort(lista):
133
 def shellSort(lista):