Escolar Documentos
Profissional Documentos
Cultura Documentos
DCC405-Estrutura de Dados II
Prof. Me. Acauan C. Ribeiro
Qual é o seu problema?
4x4 = 16 peças
1080
Átomos universo
observável
10112
Combinações de
peças Eternity 2
MergeSort(arr[], l, r)
Se r > l
1. Encontre o ponto médio para dividir a matriz em duas metades:
meio m = l+ (rl)/2
2. Chame mergeSort para a primeira metade:
Chame mergeSort(arr, l, m)
3. Chame mergeSort para a segunda metade:
Chame mergeSort(arr, m+1, r)
4. Mescle as duas metades classificadas nas etapas 2 e 3:
Chamar mesclagem (arr, l, m, r)
Divisão
Conquista
FIM
Exemplo
>> Entrada
Exemplo
>> Escolha do
últipo elemento
como pivô
Exemplo p i
O p vai marcar os
elementos maiores
e menores que o
pivo
Exemplo p i
4 >= 3 .. anda i
>> O i marca o
elemento que está
sendo analisado,
que vai ser
comparado com o
pivô naquele
instante.
Exemplo p i
4 >= 3 .. anda i
>> O i marca o
elemento que está
sendo analisado,
que vai ser
comparado com o
pivô naquele
instante.
Exemplo p i
7 >= 3 .. anda i
>> O i marca o
elemento que está
sendo analisado,
que vai ser
comparado com o
pivô naquele
instante.
Exemplo p i
7 >= 3 .. anda i
>> O i marca o
elemento que está
sendo analisado,
que vai ser
comparado com o
pivô naquele
instante.
Exemplo p i
2 >= 3 .. menor!
>> O i marca o Troca arr[i] com arr[p]
elemento que está
sendo analisado,
que vai ser
comparado com o
pivô naquele
instante.
Exemplo p i
2 >= 3 .. menor!
>> O i marca o Troca arr[i] com arr[p]
elemento que está
sendo analisado, anda p e i (i anda
que vai ser sempre)
comparado com o
pivô naquele
instante.
Exemplo p i
Exemplo p i
Exemplo p i
Exemplo p i
Exemplo p i
Exemplo p i
Exemplo p i
elementos entre o p e o i
são maiores