Quick sort

18

Click here to load reader

Transcript of Quick sort

Page 1: Quick sort

QUICK

SORT

Aline NascimentoDanilo Ataide

Professor Leandro Guarino

Page 2: Quick sort

Introdução

O algoritmo Quick Sort é um método de ordenação muito

rápido e eficiente;

Inventado por C.A.R. Hoare em 1960, quando era estudante

da Universidade de Moscovo;

Hoare criou o Quick Sort ao tentar traduzir um dicionário de

inglês para russo, ordenando as palavras, tendo como

objetivo reduzir o problema original em subproblemas para

assim poder ser resolvido mais fácil e rapidamente.

Page 3: Quick sort

Como Funciona?

Este método divide a tabela em duas sub-

tabelas, a partir de um elemento chamado

pivô, normalmente o 1º elemento da tabela.

Uma das sub-tabelas contém os elementos

menores que o pivô enquanto a outra

contém os maiores. O pivô é colocado entre

ambas, ficando na posição correta.

Page 4: Quick sort

Como Funciona?

EXEMPLO: Essas barras de tamanhos diferentes devem ser

alinhadas em ordem crescente:

Page 5: Quick sort

Como Funciona?

O algoritmo Quick Sort escolhe um elemento aleatório que

será o pivô.

Page 6: Quick sort

Como Funciona?

Os elementos são organizados de maneira que os menores

ficam do lado esquerdo do pivô e os maiores do lado direito

(são as duas sub-tabelas). E pivô já está na posição correta.

Page 7: Quick sort

Como Funciona?

Depois de encontrar a posição do pivô e separar em duas

tabelas, ele passa para uma das sub-tabelas e escolhe outro

pivô.

Page 8: Quick sort

Como Funciona?

Então, com esse outro pivô ele repete o procedimento,

encontra o lugar dele, separa os menores em outras sub-

tabelas e ordena.

Page 9: Quick sort

Como Funciona?

O pivô do início e todo o lado esquerdo já está ordenado,

Agora ele passa para a outra sub-tabela, o lado direito do

primeiro pivô, escolhe outro pivô e ordena.

Page 10: Quick sort

Como Funciona?

Encontra o local certo do pivô e ordena os lados como nos

outros casos.

Page 11: Quick sort

Como Funciona?

E depois de ordenado ele fica assim:

Page 12: Quick sort

Como Funciona?

Em execução:

Page 13: Quick sort

Como ocorrem as trocas?

Para explicar como ocorrem as trocas depois

de escolhido o pivô.

Page 14: Quick sort

Como ocorrem as trocas?

Após fixar o pivô, ele passa para sub-tabelas de valores

menores e maiores.

Page 15: Quick sort

O código

Colocar algum aki

Page 16: Quick sort

Comparando Bubble x Quick

Sort

Page 17: Quick sort

Conclusão

Existem muitos tipos de algoritmos de

ordenação e várias razões para se ordenar

uma seqüência. Uma delas é a possibilidade

se acessar seus dados de modo mais

eficiente.

O Quick Sort é um dos método mais rápidos

de ordenação

TEM Q TERMINAR

Page 18: Quick sort

Referências Bibliográficas

http://pt.wikipedia.org/wiki/Quicksort

http://br.monografias.com

http://w3.ualg.pt/~hshah/ped/Aula%2014/Quick_final.html

http://utopia.poly.edu/~kshanm01/algorithm/quick_sort_s

imulation.html

GOODRICH, Michael T. & TAMASSIA, Roberto. Estrutura de

Dados e Algoritmos em JAVA, 4ª ed. – Porto Alegre, 2007