SlideShare uma empresa Scribd logo
1 de 18
QUICK
SORT
Aline
Nascimento
Danilo Ataide
Professor Leandro Guarino
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.
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.
Como Funciona?
 EXEMPLO: Essas barras de tamanhos diferentes devem ser
alinhadas em ordem crescente:
Como Funciona?
 O algoritmo Quick Sort escolhe um elemento aleatório que
será o pivô.
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.
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ô.
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.
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.
Como Funciona?
 Encontra o local certo do pivô e ordena os lados como nos
outros casos.
Como Funciona?
 E depois de ordenado ele fica assim:
Como Funciona?
 Em execução:
Como ocorrem as trocas?
 Para explicar como ocorrem as trocas depois
de escolhido o pivô.
Como ocorrem as trocas?
 Após fixar o pivô, ele passa para sub-tabelas de valores
menores e maiores.
O código
 Colocar algum aki
Comparando Bubble x 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
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

Mais conteúdo relacionado

Mais procurados

Sorting Techniques
Sorting TechniquesSorting Techniques
Sorting Techniques
Rafay Farooq
 

Mais procurados (20)

Quick Sort , Merge Sort , Heap Sort
Quick Sort , Merge Sort ,  Heap SortQuick Sort , Merge Sort ,  Heap Sort
Quick Sort , Merge Sort , Heap Sort
 
Quicksort Presentation
Quicksort PresentationQuicksort Presentation
Quicksort Presentation
 
Counting Sort
Counting SortCounting Sort
Counting Sort
 
Sorting ppt
Sorting pptSorting ppt
Sorting ppt
 
Searching algorithms
Searching algorithmsSearching algorithms
Searching algorithms
 
Algoritmos de busca
Algoritmos de buscaAlgoritmos de busca
Algoritmos de busca
 
Stack
StackStack
Stack
 
It elective cs366 barizo radix.docx
It elective cs366 barizo radix.docxIt elective cs366 barizo radix.docx
It elective cs366 barizo radix.docx
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Insertion sort bubble sort selection sort
Insertion sort bubble sort  selection sortInsertion sort bubble sort  selection sort
Insertion sort bubble sort selection sort
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Sorting Techniques
Sorting TechniquesSorting Techniques
Sorting Techniques
 
Quick_sort1.pptx
Quick_sort1.pptxQuick_sort1.pptx
Quick_sort1.pptx
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 

Destaque (11)

Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 
Pesquisa e Ordenação - Aula 05 - Métodos de Ordenação (Troca de partição - Qu...
Pesquisa e Ordenação - Aula 05 - Métodos de Ordenação (Troca de partição - Qu...Pesquisa e Ordenação - Aula 05 - Métodos de Ordenação (Troca de partição - Qu...
Pesquisa e Ordenação - Aula 05 - Métodos de Ordenação (Troca de partição - Qu...
 
Quicksort
QuicksortQuicksort
Quicksort
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
Quicksort
QuicksortQuicksort
Quicksort
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dados
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
Ordenação
OrdenaçãoOrdenação
Ordenação
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
Como colocar as referências segundo a abnt
Como colocar as referências segundo a abntComo colocar as referências segundo a abnt
Como colocar as referências segundo a abnt
 
Como redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escritoComo redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escrito
 

Quick sort

  • 2. 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.
  • 3. 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.
  • 4. Como Funciona?  EXEMPLO: Essas barras de tamanhos diferentes devem ser alinhadas em ordem crescente:
  • 5. Como Funciona?  O algoritmo Quick Sort escolhe um elemento aleatório que será o pivô.
  • 6. 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.
  • 7. 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ô.
  • 8. 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.
  • 9. 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.
  • 10. Como Funciona?  Encontra o local certo do pivô e ordena os lados como nos outros casos.
  • 11. Como Funciona?  E depois de ordenado ele fica assim:
  • 12. Como Funciona?  Em execução:
  • 13. Como ocorrem as trocas?  Para explicar como ocorrem as trocas depois de escolhido o pivô.
  • 14. Como ocorrem as trocas?  Após fixar o pivô, ele passa para sub-tabelas de valores menores e maiores.
  • 16. Comparando Bubble x Quick Sort
  • 17. 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
  • 18. 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