Bubble Sort Algoritmo de ordenamiento simple que intercambia repetidamente elementos adyacentes si están en el orden incorrecto. Es lento pero fácil de entender.\n\nPseudocódigo:\npara i desde 0 hasta n-1\n para j desde 0 hasta n-i-2\n si A[j] > A[j+1]\n intercambiar A[j] y A[j+1]
Selection Sort Algoritmo que selecciona repetidamente el elemento mínimo y lo coloca en su posición correcta. Reduce intercambios pero sigue siendo ineficiente.\n\nPseudocódigo:\npara i desde 0 hasta n-2\n min = i\n para j desde i+1 hasta n-1\n si A[j] < A[min]\n min = j\n intercambiar A[i] y A[min]
Insertion Sort Algoritmo que construye la lista ordenada insertando cada nuevo elemento en su posición correcta. Muy eficiente para listas pequeñas.\n\nPseudocódigo:\npara i desde 1 hasta n-1\n clave = A[i]\n j = i-1\n mientras j >= 0 y A[j] > clave\n A[j+1] = A[j]\n j = j-1\n A[j+1] = clave
Quick Sort Algoritmo divide y vencerás que elige un pivote y divide el arreglo en menores y mayores al pivote. Muy rápido en la práctica.\n\nPseudocódigo:\nquickSort(A, inicio, fin)\n si inicio < fin\n p = particionar(A, inicio, fin)\n quickSort(A, inicio, p-1)\n quickSort(A, p+1, fin)
Merge Sort Algoritmo divide y vencerás que divide el arreglo en mitades, las ordena y luego las combina. Garantiza buen rendimiento.\n\nPseudocódigo:\nmergeSort(A)\n si tamaño(A) > 1\n dividir A en izquierda y derecha\n mergeSort(izquierda)\n mergeSort(derecha)\n combinar izquierda y derecha