Sobes.tech
Junior — Middle

Qual é a ideia principal e as vantagens do algoritmo de ordenação por fusão?

sobes.tech IA

Resposta da IA

O algoritmo de ordenação por fusão (Merge Sort) baseia-se no princípio de "dividir e conquistar". Divide recursivamente o array original em duas metades, ordena cada uma delas e depois funde as duas partes ordenadas em um array ordenado.

Vantagens:

  • Estabilidade: mantém a ordem dos elementos iguais.
  • Tempo de execução garantido O(n log n) no pior, médio e melhor caso.
  • Adequado para ordenar grandes volumes de dados e ordenação externa.

Exemplo em Java:

void mergeSort(int[] arr, int left, int right) {
    if (left < right) {
        int mid = (left + right) / 2;
        mergeSort(arr, left, mid);
        mergeSort(arr, mid + 1, right);
        merge(arr, left, mid, right);
    }
}

void merge(int[] arr, int left, int mid, int right) {
    // Lógica de fusão de dois subarrays ordenados
}