Você está na página 1de 19

Mergesort

Gustavo Bencio
Luiza Guerra
Priscila Rodrigues
Tpicos abordados
Introduo
Motivao
Anlise do algoritmo
Complexidade do algoritmo
Exemplo prtico
Concluso
Referncias
Introduo
Ordenao o ato de colocar os
elementos dispostos em relao a
uma ordem preestabelecida.
Introduo
O principal objetivo da ordenao
acessar os dados de forma mais
eficiente.
Motivao
O estudo do algoritmo Mergesort
possibilita a ordenao de dados
quebrando o problema-chave em
pedaos menores, organizando
trechos de dados separados para em
seguida, juntar os resultados
formando um vetor ordenado.
Anlise
O Mergesort um algoritmo que se
baseia no conceito dividir para
conquistar:
Diviso
Conquista
Combinao
Anlise
Tambm chamado de ordenao
por mistura e fuso.
Ordenao de
pontos organizados
aleatoriamente
Bubblesort Heapsort Insertionsort
Mergesort Quicksort Selectionsort
Random Initial Order
Bubllesort Heapsort Insertionsort
Mergesort Quicksort Selectionsort
Nearly Sorted Initial Order
Bubllesort Heapsort Insertionsort
Mergesort Quicksort Selectionsort
Reversed Initial Order
Anlise
Vantagens:
eficiente para ordenao externa
Fcil implementao
Recomendado para aplicaes com
restrio de tempo
Desvantagens:
Utiliza memria auxiliar
Alto consumo de memria
Complexidade do algoritmo
Melhor caso: nunca necessrio
trocar aps as comparaes
Caso mdio: h necessidade de
trocas aps as comparaes
Pior caso: sempre necessrio
efetuar a troca aps as comparaes
Complexidade do algoritmo
h = O(log n)
A altura da rvore de execuo pode ser definida por O(log n).
A quantidade de operaes em cada nvel da rvore de execuo definida
por O(n).
Logo, a complexidade do algoritmo para qualquer caso O(n log n).
Complexidade do algoritmo
A complexidade do mergesort a
mesma para o pior, mdio e melhor
caso.
Independente da situao dos dados
no vetor, o algoritmo ir sempre dividir
e intercalar os dados.
O algoritmo
As 2 principais idias do algoritmo
para melhoria so:
Uma lista pequena executar menos
etapa para ordenar.
Para construir uma lista ordenada a partir
de duas sub-listas, melhor que elas j
estejam ordenadas.

Vamos ao cdigo
Cdigo
Concluso
Referncias Bibliogrficas
http://www.sorting-
algorithms.com/merge-sort
http://c2.com/cgi/wiki?MergeSort
http://www.youtube.com/watch?v=8Tk
oSS3lxO8&feature=related
http://en.wikipedia.org/wiki/Merge_sort