Sobes.tech
Junior — Middle

Pode explicar o princípio de funcionamento do algoritmo de ordenação rápida?

sobes.tech IA

Resposta da IA

O algoritmo de ordenação rápida (Quick Sort) funciona com base no princípio "dividir e conquistar". Ele escolhe um elemento pivô do array e reorganiza os elementos de modo que todos os menores fiquem à esquerda e os maiores à direita. Depois, aplica recursivamente a mesma operação aos subarrays à esquerda e à direita do pivô.

Principais passos:

  1. Escolher um elemento pivô (por exemplo, o último elemento do array).
  2. Dividir o array em duas partes: elementos menores que o pivô e elementos maiores que o pivô.
  3. Ordenar recursivamente ambas as partes.

Exemplo em 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);
    }
}