Merge e Quick
Michel Alves dos Santos
Társis Wanderley Tolêdo
Universidade Federal do Estado de Alagoas
Instituto de Compu...
Slide 2
Geração de Números Aleatórios e Algoritmos de Ordenação
True Random Number Generators
Pseudo-Random Number Generat...
Slide 3
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
• Método da Congruên...
Slide 4
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
MERGE SORT – ORDENAÇ...
Slide 5
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
MERGE SORT – ORDENAÇ...
Slide 6
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
QUICK SORT – ORDENAÇ...
Slide 7
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
QUICK SORT – ORDENAÇ...
Slide 8
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
QUICK SORT – ORDENAÇ...
Slide 9
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
QUICK SORT – ORDENAÇ...
Slide 10
Geração de Números Aleatórios e Algoritmos de Ordenação
PAA - Projeto e Análise de Algoritmos
QUADRO DE DESEMPENH...
Slide 11
Geração de Números Aleatórios e Algoritmos de Ordenação
Screenshots & Testes – Bubble Versão 1
PAA - Projeto e An...
Slide 12
Geração de Números Aleatórios e Algoritmos de Ordenação
Screenshots & Testes – Bubble Versão 2
PAA - Projeto e An...
Slide 13
Geração de Números Aleatórios e Algoritmos de Ordenação
Screenshots & Testes – Shaker Sort
PAA - Projeto e Anális...
Slide 14
Geração de Números Aleatórios e Algoritmos de Ordenação
Screenshots & Testes – Merge Sort
PAA - Projeto e Análise...
Slide 15
Geração de Números Aleatórios e Algoritmos de Ordenação
• Screenshots & Testes – Quick Sort [Pivoteamento Central...
Upcoming SlideShare
Loading in …5
×

Sorting Algorithms - Merge and Quick

275
-1

Published on

In computer science, a merge sort (also commonly spelled mergesort) is an O(n log n) comparison-based sorting algorithm. Most implementations produce a stable sort, which means that the implementation preserves the input order of equal elements in the sorted output. Quicksort, or partition-exchange sort, is a sorting algorithm developed by Tony Hoare that, on average, makes O(n log n) comparisons to sort n items.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
275
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sorting Algorithms - Merge and Quick

  1. 1. Merge e Quick Michel Alves dos Santos Társis Wanderley Tolêdo Universidade Federal do Estado de Alagoas Instituto de Computação – Ciência da Computação Projeto e Análise de Algoritmos – Prof. Sílvio Chagas Novembro de 2009
  2. 2. Slide 2 Geração de Números Aleatórios e Algoritmos de Ordenação True Random Number Generators Pseudo-Random Number Generators O emprego de TRNGs é mais adequado as loterias, jogos e segurança [geração de chaves criptografadas], enquanto os PRNGs são largamente utilizados em simulações e modelagem computacional [Análise Visual, Simulação Científica de Infecção Viral, Algoritmos Evolutivos, etc.] PAA - Projeto e Análise de Algoritmos
  3. 3. Slide 3 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos • Método da Congruência Linear • Outros Métodos PRNG [R250 e Mersenne Twistter] • Distribuição, Ordem e o Efeito ‘Tartaruga’ Tabela com os períodos de alguns métodos de geração de números aleatórios. Os números aleatórios são necessários em cálculo numérico, quando é necessário que não existam correlações entre eventos independentes. São utilizados no método de Monte Carlo (determinação da área de um lago) [1], em dinâmica de partículas com dissipação [2] para garantir que as forças entre as partículas sejam independentes e em criptografia [3]. [2] [1] [3]
  4. 4. Slide 4 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos MERGE SORT – ORDENAÇÃO POR INTERCALAÇÃO John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Algoritmo criado por von Neumann Complexidade de tempo : Θ(nlogn) Complexidade de espaço : Θ(n) Algoritmo do tipo “Dividir para Conquistar” Idéia Básica -> Dividir, Conquistar, Combinar Desvantagem : Alto consumo de memória, devido a série de chamadas recursivas.
  5. 5. Slide 5 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos MERGE SORT – ORDENAÇÃO POR INTERCALAÇÃO 7 5 2 4 1 6 3 0 7 5 2 4 1 6 3 0 2 47 5 1 6 3 0 27 45 31 06 Dividir entrada 0 1 2 3 4 5 6 7 2 4 5 7 0 1 3 6 2 45 7 1 6 0 3 27 45 31 06 Combinar saída
  6. 6. Slide 6 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos QUICK SORT – ORDENAÇÃO RÁPIDA • Algoritmo criado por Sir Charles Antony Richard Hoare, em 1960, publicado em 1962. • Algoritmo de ordenação não-estável • Complexidade de tempo : Θ(nlogn) [melhor caso/caso médio] • Complexidade de tempo : Θ(n^2) [no pior caso] • Complexidade de espaço : Θ(logn) [melhor caso e caso médio] • Complexidade de espaço : Θ(n) [pior caso] • Algoritmo do tipo “Dividir para Conquistar” • Idéia Básica -> Algoritmo do tipo dividir para conquistar baseado em particionamento porém sem a fase de combinação como o merge sort. Desvantagem : No pior caso se comporta como um algoritmo quadrático. Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
  7. 7. Slide 7 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos QUICK SORT – ORDENAÇÃO RÁPIDA – Idéia Básica 13 81 92 43 65 31 57 26 75 0 Seleciona um Pivô 81 92 75 13 43 31 5726 0 13 81 9243 6531 5726 750 81 927513 4331 57260 65 65 quicksort quicksort 13 81 92 43 65 31 57 26 75 0 Executa Particionamento
  8. 8. Slide 8 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos QUICK SORT – ORDENAÇÃO RÁPIDA - Particionamento Particionamento e Recuperação – melhor caso e caso médio
  9. 9. Slide 9 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos QUICK SORT – ORDENAÇÃO RÁPIDA – Pior caso O pior caso para o Quick Sort ocorre quando a entrada já se encontra ordenada. Torna-se tão “eficiente” quanto um algoritmo quadrático convencional. Nesse caso a profundidade da árvore é de N-1 e não O(logn), pois a mesma não é balanceada. Finalmente sua complexidade será dada por N(N-1)/2, ou seja, O(N^2)
  10. 10. Slide 10 Geração de Números Aleatórios e Algoritmos de Ordenação PAA - Projeto e Análise de Algoritmos QUADRO DE DESEMPENHO Quadro de avaliação entre os algoritmos de ordenação, levando em conta o número de comparações, trocas e outras operações necessárias a resolução do problema, realizadas em tempo constante. Abaixo visualizamos um quadro de complexidade média de implementação de alguns algoritmos de ordenação(excluindo linhas em branco e de comentários).
  11. 11. Slide 11 Geração de Números Aleatórios e Algoritmos de Ordenação Screenshots & Testes – Bubble Versão 1 PAA - Projeto e Análise de Algoritmos
  12. 12. Slide 12 Geração de Números Aleatórios e Algoritmos de Ordenação Screenshots & Testes – Bubble Versão 2 PAA - Projeto e Análise de Algoritmos
  13. 13. Slide 13 Geração de Números Aleatórios e Algoritmos de Ordenação Screenshots & Testes – Shaker Sort PAA - Projeto e Análise de Algoritmos
  14. 14. Slide 14 Geração de Números Aleatórios e Algoritmos de Ordenação Screenshots & Testes – Merge Sort PAA - Projeto e Análise de Algoritmos
  15. 15. Slide 15 Geração de Números Aleatórios e Algoritmos de Ordenação • Screenshots & Testes – Quick Sort [Pivoteamento Central] PAA - Projeto e Análise de Algoritmos
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×