35 lines
1.0 KiB
Markdown
35 lines
1.0 KiB
Markdown
|
# Merge Sort
|
||
|
|
||
|
Merge Sort es un algoritmo "Divide y venceras". Divide la matriz de entrada en dos mitades, se llama a sí mismo para cada una de ellas y luego fusiona las dos mitades ordenadas.
|
||
|
|
||
|
## Pasos
|
||
|
|
||
|
1. Encuentra el punto medio para dividir la matriz en dos mitades.
|
||
|
2. Llama a mergeSort para la primera mitad.
|
||
|
3. Llama a mergeSort para la segunda mitad.
|
||
|
4. Combina las dos mitades ordenadas en los pasos 2 y 3.
|
||
|
|
||
|
## Ejemplo
|
||
|
|
||
|
Dado el arreglo:
|
||
|
**12 11 13 5 6 7**
|
||
|
|
||
|
El arreglo ordenado es
|
||
|
**5 6 7 11 12 13**
|
||
|
|
||
|
## Implementación
|
||
|
|
||
|
- [Java](../../../algorithms/Java/sorting/merge-sort.java)
|
||
|
- [C](../../../algorithms/C/sorting/merge-sort.c)
|
||
|
- [C++](../../../algorithms/CPlusPlus/Sorting/merge-sort.cpp)
|
||
|
- [JavaScript](../../../algorithms/JavaScript/src/sorting/merge-sort.js)
|
||
|
- [Python](../../../algorithms/Python/sorting/merge_sort.py)
|
||
|
- [C#](../../../algorithms/CSharp/src/Sorts/merge-sort.cs)
|
||
|
|
||
|
## URL del video
|
||
|
|
||
|
[Video de Youtube acerca de Merge Sort](https://www.youtube.com/watch?v=jlHkDBEumP0)
|
||
|
|
||
|
## Otros
|
||
|
|
||
|
[Wikipedia](https://en.wikipedia.org/wiki/Merge_sort)
|