03 de junio - JoseA4718/Portafolio-I-2020 GitHub Wiki
Se inició la clase con un repaso del selection sort y bubble sort
Insertion Sort
Su rendimiento es mejor si una parte de la estructura ya está ordenada. Recorre la parte que no está ordenada agarrando el primer elemento y busca en que parte de la sección ya ordenada tiene a la izquierda un valor menor a él y a la derecha un elemento mayor y lo inserta en esa posición. Así consecutivamente hasta que la parte no ordenada se acabe o en otras palabras, que ya quede ordenado el arreglo.
Shell Sort
Divide la lista en sublistas, y las ordena usando Selection Sort. Utiliza un gap o espaciado el cual dice de cuantos en cueantos elementos comparar. Para un gap inicial de "n" se hacen comparaciones de n en n elementos. Después de comparar y hacer swap a los elementos de n en n, se hace otra iteración con el gap = n/2 y así sucesivamente, hasta llegar a un gap = 1. Para el curso se va a utilizar como gap inicial, la mitad del total de elementos del arreglo o lista.
Merge Sort
Toma una lista y la divide recursivamente hasta que quede en arreglos o listas de largo 1, cuando todas tengan este largo se vuelven a unir en listas de largo 2 ya ordenadas hasta que queden varias sublistas de largo 2 ordenadas, luego toma dos grupos de dos y los une o hace "merge" de manera ordenada, así hasta que la lista quede ordenada.