andrelfuentes 1年前
父节点
当前提交
450570ea85
共有 1 个文件被更改,包括 0 次插入51 次删除
  1. 0
    51
      sorting.py

+ 0
- 51
sorting.py 查看文件

@@ -11,57 +11,6 @@ from random import randint
11 11
 import time
12 12
 
13 13
 def mergeSort(lista):
14
-    #definan el algoritmo de ordenamiento mergesort
15
-    # se vieron videos y se leyo sobre el algoritmo en GeekforGeeks, educative.io y medium.com el codigo fue basado en esto
16
-
17
-    # si tiene al menos un elemento
18
-    if len(lista) > 1:
19
-        # buscar mitad de lista
20
-        middle = len(lista)//2
21
-        # llamada recursiva de mitad izq de lista
22
-        Left = mergeSort(lista[:middle])
23
-        # llamada recursiva de mitad derecha de lista
24
-        Right = mergeSort(lista[middle:])
25
-
26
-        # return y llamada recursiva merge para combinar ambas listas
27
-        return merge(Right, Left, lista)
28
-
29
-    # se devuelve cuando solamente haya un elemento
30
-    return lista
31
-
32
-def merge(Right, Left, lista):
33
-    # acumuladores 
34
-    i = 0
35
-    j = 0
36
-    k = 0
37
-
38
-    # comparar las dos listas y ordenar de manera ascendiente 
39
-    while i < len(Left) and j < len(Right):
40
-        # si el elemento de la izq es menor que la derecha
41
-        # añadelo a la lista
42
-        if Left[i] < Right[j]:
43
-            lista[k] = Left[i]
44
-            i += 1
45
-            k += 1
46
-        # si el elemento de la derecha es menor que la derecha
47
-        # añadelo a la lista
48
-        else:
49
-            lista[k] = Right[j]
50
-            j += 1
51
-            k += 1
52
-
53
-    # si quedan elementos en la lista izq añadelos en la lista
54
-    while i < len(Left):
55
-        lista[k] = Left[i]
56
-        i += 1
57
-        k += 1
58
-
59
-    # si quedan elementos en la lista derecha añadelos en la lista
60
-    while j < len(Right):
61
-        lista[k] = Right[j]
62
-        j += 1
63
-        k += 1
64
-    
65 14
     return lista
66 15
 
67 16