SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
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
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
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]
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.
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
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)
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
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
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)
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).
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
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
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
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
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

Más contenido relacionado

Similar a Sorting Algorithms - Merge and Quick

Atividade pratica supervisionada construção de algoritimo
Atividade pratica supervisionada  construção de algoritimoAtividade pratica supervisionada  construção de algoritimo
Atividade pratica supervisionada construção de algoritimo
Felipe Dias Guimarães
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos
João moreira
 

Similar a Sorting Algorithms - Merge and Quick (20)

Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06
 
SysSorting Professional
SysSorting ProfessionalSysSorting Professional
SysSorting Professional
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
P910Aula07
P910Aula07P910Aula07
P910Aula07
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1
 
Atividade pratica supervisionada construção de algoritimo
Atividade pratica supervisionada  construção de algoritimoAtividade pratica supervisionada  construção de algoritimo
Atividade pratica supervisionada construção de algoritimo
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenação
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos
 
ordenacao shellsort quicksort em C
ordenacao shellsort quicksort em Cordenacao shellsort quicksort em C
ordenacao shellsort quicksort em C
 
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
 
Ferramentas da qualidade 2.pptx
Ferramentas da qualidade  2.pptxFerramentas da qualidade  2.pptx
Ferramentas da qualidade 2.pptx
 
Conceitos básicos de AEDS
Conceitos básicos de AEDSConceitos básicos de AEDS
Conceitos básicos de AEDS
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 

Más de Michel Alves

Más de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 

Último

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
LidianeLill2
 

Último (20)

Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 

Sorting Algorithms - Merge and Quick

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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