Sobes.tech
Junior — Middle

¿Puede explicar el principio de funcionamiento del algoritmo de ordenamiento rápido?

sobes.tech AI

Respuesta de la IA

El algoritmo de ordenamiento rápido (Quick Sort) funciona según el principio de "divide y vencerás". Elige un elemento pivote del array y reorganiza los elementos para que todos los menores queden a la izquierda y los mayores a la derecha. Luego aplica recursivamente la misma operación a los subarrays a la izquierda y a la derecha del pivote.

Pasos principales:

  1. Elegir un elemento pivote (por ejemplo, el último elemento del array).
  2. Dividir el array en dos partes: elementos menores que el pivote y elementos mayores que el pivote.
  3. Ordenar recursivamente ambas partes.

Ejemplo en C++:

void quickSort(int arr[], int low, int high) {
    if (low < high) {
        int pivot = arr[high];
        int i = low - 1;
        for (int j = low; j < high; j++) {
            if (arr[j] < pivot) {
                i++;
                std::swap(arr[i], arr[j]);
            }
        }
        std::swap(arr[i + 1], arr[high]);
        int pi = i + 1;

        quickSort(arr, low, pi - 1);
        quickSort(arr, pi + 1, high);
    }
}