Quick sort
Click here to load reader
-
Upload
aline-nascimento -
Category
Documents
-
view
2.543 -
download
5
Transcript of Quick sort
![Page 1: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/1.jpg)
QUICK
SORT
Aline NascimentoDanilo Ataide
Professor Leandro Guarino
![Page 2: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/2.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/3.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/4.jpg)
Como Funciona?
EXEMPLO: Essas barras de tamanhos diferentes devem ser
alinhadas em ordem crescente:
![Page 5: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/5.jpg)
Como Funciona?
O algoritmo Quick Sort escolhe um elemento aleatório que
será o pivô.
![Page 6: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/6.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/7.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/8.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/9.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/10.jpg)
Como Funciona?
Encontra o local certo do pivô e ordena os lados como nos
outros casos.
![Page 11: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/11.jpg)
Como Funciona?
E depois de ordenado ele fica assim:
![Page 12: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/12.jpg)
Como Funciona?
Em execução:
![Page 13: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/13.jpg)
Como ocorrem as trocas?
Para explicar como ocorrem as trocas depois
de escolhido o pivô.
![Page 14: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/14.jpg)
Como ocorrem as trocas?
Após fixar o pivô, ele passa para sub-tabelas de valores
menores e maiores.
![Page 15: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/15.jpg)
O código
Colocar algum aki
![Page 16: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/16.jpg)
Comparando Bubble x Quick
Sort
![Page 17: Quick sort](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/17.jpg)
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](https://reader037.fdocuments.net/reader037/viewer/2022100605/559e03991a28ab1e6a8b478f/html5/thumbnails/18.jpg)
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