Você está na página 1de 2

Merge Sort

Funcionamento do Merge Sort

O algoritmo de Ordenação Merge Sort criar uma sequência ordenada a partir de duas
outras também ordenadas. Para isso, o algoritmo Merge Sort divide a sequência original
em pares de dados, agrupa estes pares na ordem desejada; depois agrupa as sequências
de pares já ordenados, formando uma nova sequência ordenada de quatro elementos, e
assim por diante, até ter toda a sequência ordenada. Os três passos úteis do algoritmo
Merge Sort são:

 Dividir os dados em subsequências pequenas, é realizado recursivamente,


iniciando com a divisão do vector de n elementos em duas metades, cada uma
das metades é novamente dividida em duas novas metades e assim por diante,
até que não seja mais possível a divisão, ou seja, desde que fiquem n vectores
com um elemento cada;

 Classificar as duas metades recursivamente aplicando o merge sort;

 Juntar as duas metades em um único conjunto já classificado,

Vantagens

Desvantagens

 Utiliza funções recursivas;


 Gasto extra de memória. O algoritmo cria uma cópia do vector para cada nível
da chamada recursiva, totalizando um uso adicional de memória igual a
 Requer o dobro de memória, ou seja, precisa de um vector com as mesmas
dimensões do vector que será dividido.

Comparação do Merge Sort com outros Algoritmos de Ordenação


Em comparação a outros algoritmos, como o Quicksort, o Merge apresenta a mesma complexidade.
Em comparação a algoritmos mais básicos de ordenação por comparação e troca (bubble, insertion e
selection sort), o Merge é mais rápido e eficiente quando é utilizado sobre uma grande quantidade de
dados.
Tabela para comparação:

Exemplo: Execute o algoritmo de ordenação Merge Sort para uma lista que contém os
seguintes elementos, na seguinte ordem: 12 7 30 8 90 2 10 0.

Você também pode gostar