Escolar Documentos
Profissional Documentos
Cultura Documentos
ini meio
V
meio+1 fim
/* ordenação usando recursão */ Dividir:
o problema original,
MergeSort(V, ini, fim)
{
ordenação do vetor de
(1) se (ini < fim) então
tamanho n, é dividido
(2) meio ← (ini + fim) / 2 em subproblemas de
(3) MergeSort(V, ini, meio) ordenação, ou seja, na
(4) MergeSort(V, meio + 1, fim) ordenação de 2 vetores
Intercala(V, ini, meio, fim)
menores com n/2 e
(5)
}
n/2 elementos cada.
/* ordenação usando recursão */ Conquistar:
Ou resolver os subproblemas
MergeSort(V, ini, fim) recursivamente, neste
{ caso, realizando 2
chamadas recursivas, uma
(1) se (ini < fim) então
para cada subproblema.
(2) meio ← (ini + fim) / 2 Quando o problema tem uma
(3) MergeSort(V, ini, meio) solução trivial (ini ≥ fim),
(4) MergeSort(V, meio + 1, fim) resolver em tempo
(5) Intercala(V, ini, meio, fim) constante, isto é, não há
} chamadas recursivas
/* ordenação usando recursão */