| Burbuja (Bubble Sort) |
Intercambio |
Compara y permuta elementos adyacentes |
O(n) / O(n^2) / O(n^2) |
Sí |
| Inserción (Insertion Sort) |
Inserción |
Inserta cada elemento en su posición en una sublista ya ordenada |
O(n) / O(n^2) / O(n^2) |
Sí |
| Selección (Selection Sort) |
Selección |
Busca el mínimo y lo coloca al inicio sucesivamente |
O(n^2) / O(n^2) / O(n^2) |
No |
| Merge Sort |
Div. y Conquista |
Divide en mitades y las mezcla de forma ordenada |
O(n log n) / O(n log n) / O(n log n) |
Sí |
| Quick Sort |
Div. y Conquista |
Particiona la lista según un pivote |
O(n log n) / O(n log n) / O(n^2) |
No |
| Heap Sort |
Selección / Heap |
Construye un árbol binario (heap) y extrae la raíz |
O(n log n) / O(n log n) / O(n log n) |
No |
| Timsort |
Híbrido |
Mezcla de Inserción y Merge Sort; optimizado para datos reales |
O(n) / O(n log n) / O(n log n) |
Sí |
| Introsort |
Híbrido |
Quick Sort que cambia a Heap Sort si la recursión es profunda |
O(n log n) / O(n log n) / O(n log n) |
No |
| Tree Sort |
Árbol |
Inserta elementos en un Árbol Binario de Búsqueda (BST) |
O(n log n) / O(n log n) / O(n^2) |
Sí |
| Counting Sort |
Distribución |
Cuenta frecuencias (solo para enteros en rango conocido) |
O(n + k) / O(n + k) / O(n + k) |
Sí |
| Radix Sort |
Distribución |
Ordena dígito por dígito de forma posicional |
O(nk) / O(nk) / O(nk) |
Sí |
| Shell Sort |
Incremental |
Inserción mejorada usando saltos (gaps) decrecientes |
O(n log n) / O(n^1.5) / O(n^2) |
No |
| Cocktail Sort |
Intercambio |
Burbuja bidireccional (hacia adelante y hacia atrás) |
O(n) / O(n^2) / O(n^2) |
Sí |
| Comb Sort |
Intercambio |
Burbuja mejorada que elimina "tortugas" usando gaps |
O(n log n) / O(n^2) / O(n^2) |
No |
| Bucket Sort |
Distribución |
Reparte elementos en "cubos" y los ordena individualmente |
O(n + k) / O(n + k) / O(n^2) |
Sí |