QuickSort: funciona de la siguiente manera:
- Escoge un elemento de la lista a ordenar, y lo nombra como pivote.
- Resituar los demás elementos de la lista a cada lado del pivote, de manera que a un lado queden todos los menores que él, y al otro los mayores. Los elementos iguales al pivote pueden ser colocados tanto a su derecha como a su izquierda, dependiendo de la implementación deseada. En este momento, el pivote ocupa exactamente el lugar que le corresponderá en la lista ordenada.
- La lista queda separada en dos sublistas, los números menores al pivote, y la lista de los mayores.
- Repetir este proceso de forma recursiva para cada sublista mientras éstas contengan más de un elemento. Una vez terminado este proceso todos los elementos estarán ordenados.
Ejemplo:
MergeSort: La idea de este algoritmo es dividir la lista por la mitad, una y otra vez, hasta que quede cada numero solo, y luego ir uniéndolos de forma ordenada, hasta terminar con toda la lista.
Ejemplo:
Ejemplo:


Comments
Post a Comment