| Bubble Sort |
O(n²) |
Intercambios sucesivos |
Compara pares adyacentes y los intercambia repetidamente |
| Selection Sort |
O(n²) |
Selección del mínimo |
Busca el mínimo y lo coloca en su posición final |
| Insertion Sort |
O(n²) |
Inserción incremental |
Inserta cada elemento en su lugar en la parte ordenada |
| Merge Sort |
O(n log n) |
Divide y vencerás |
Divide el array y luego fusiona las partes ordenadas |
| Quick Sort |
O(n log n) |
Divide y vencerás (pivote) |
Divide según un pivote y ordena recursivamente |
| Heap Sort |
O(n log n) |
Heap binario (árbol completo) |
Construye un heap y extrae el máximo repetidamente |
| Shell Sort |
O(n log n)* |
Incrementos (gap sorting) |
Ordena por saltos decrecientes hasta llegar a 1 |
| Counting Sort |
O(n + k) |
Conteo / no comparativo |
Cuenta ocurrencias y reconstruye el array ordenado |
| Radix Sort |
O(n · k) |
Ordenación por dígitos |
Ordena por cada dígito (unidades, decenas, etc.) |
| Bucket Sort |
O(n + k) |
Distribución en cubos |
Distribuye en buckets y ordena cada uno |