SlideShare a Scribd company logo
1 of 90
Download to read offline
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Algoritmos de Ordenação
Análise das Estratégias Merge Sort e Quick Sort
Michel Alves dos Santos
Universidade Federal de Alagoas, Campus A. C. Simões
Tabuleiro do Martins - Maceió - AL, CEP: 57072-970
Centro de Pesquisa em Matemática Computacional
Docente Responsável: Prof. Dr. Thales Vieira
19 de Setembro 2011
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Sumário
Tópicos Centrais da Explanação
Aleatoriedade e Aplicações Cotidianas;
Métodos de Geração de Números Aleatórios;
Números Aleatórios e Algoritmos de Ordenação;
O Algoritmo de Ordenação Merge Sort;
O Algoritmo de Ordenação Quick Sort;
Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade e
mostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultados
obtidos através da avaliação dos algoritmos propostos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Geradores de Números Aleatórios
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurança
digital, enquanto os PRNGs são largamente utilizados em simulações e modelagem
computacional [Análise Visual, Simulação de Infecção Viral, Algoritmos Evolutivos,
etc.]
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Geradores de Números Aleatórios
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurança
digital, enquanto os PRNGs são largamente utilizados em simulações e modelagem
computacional [Análise Visual, Simulação de Infecção Viral, Algoritmos Evolutivos,
etc.]
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Geradores de Números Aleatórios
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurança
digital, enquanto os PRNGs são largamente utilizados em simulações e modelagem
computacional [Análise Visual, Simulação de Infecção Viral, Algoritmos Evolutivos,
etc.]
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Eficiência dos Geradores de Números
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number Generator
Eficiência Excelente Pobre
Determinismo Determinístico Não-determinístico
Periodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios que
leva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador Recomendado
Loterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas
possíveis áreas de emprego.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Eficiência dos Geradores de Números
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number Generator
Eficiência Excelente Pobre
Determinismo Determinístico Não-determinístico
Periodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios que
leva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador Recomendado
Loterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas
possíveis áreas de emprego.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Eficiência dos Geradores de Números
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number Generator
Eficiência Excelente Pobre
Determinismo Determinístico Não-determinístico
Periodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios que
leva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador Recomendado
Loterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas
possíveis áreas de emprego.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Aleatoriedade e Aplicações Cotidianas
Eficiência dos Geradores de Números
True Random Number Generators [TRNG].
Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number Generator
Eficiência Excelente Pobre
Determinismo Determinístico Não-determinístico
Periodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios que
leva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador Recomendado
Loterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas
possíveis áreas de emprego.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Métodos de Geração de Números Aleatórios
Métodos Comumente Encontrados
Método Congruencial Linear;
Método de Deslocamento R250;
Método de Deslocamento Mersenne Twistter.
Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes
e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade Tipo
Linear Congruential Generator [glibc - gcc] 232
Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264
Congruente Linear
R250 2250
− 1 Deslocamento de Registro
Mersenne Twister 219937
− 1 Deslocamento de Registro
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Métodos de Geração de Números Aleatórios
Métodos Comumente Encontrados
Método Congruencial Linear;
Método de Deslocamento R250;
Método de Deslocamento Mersenne Twistter.
Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes
e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade Tipo
Linear Congruential Generator [glibc - gcc] 232
Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264
Congruente Linear
R250 2250
− 1 Deslocamento de Registro
Mersenne Twister 219937
− 1 Deslocamento de Registro
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Métodos de Geração de Números Aleatórios
Métodos Comumente Encontrados
Método Congruencial Linear;
Método de Deslocamento R250;
Método de Deslocamento Mersenne Twistter.
Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes
e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade Tipo
Linear Congruential Generator [glibc - gcc] 232
Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264
Congruente Linear
R250 2250
− 1 Deslocamento de Registro
Mersenne Twister 219937
− 1 Deslocamento de Registro
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Métodos de Geração de Números Aleatórios
Métodos Comumente Encontrados
Método Congruencial Linear;
Método de Deslocamento R250;
Método de Deslocamento Mersenne Twistter.
Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes
e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade Tipo
Linear Congruential Generator [glibc - gcc] 232
Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264
Congruente Linear
R250 2250
− 1 Deslocamento de Registro
Mersenne Twister 219937
− 1 Deslocamento de Registro
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Números Aleatórios e Algoritmos de Ordenação
Geração de Números Aleatórios e Algoritmos
de Ordenação
Por que até o presente momento falamos sobre geração de
números aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias de
ordenação e para verificar a robustez das mesmas, os números
empregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testados
daremos o nome de Aglomerados Numéricos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Números Aleatórios e Algoritmos de Ordenação
Geração de Números Aleatórios e Algoritmos
de Ordenação
Por que até o presente momento falamos sobre geração de
números aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias de
ordenação e para verificar a robustez das mesmas, os números
empregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testados
daremos o nome de Aglomerados Numéricos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Números Aleatórios e Algoritmos de Ordenação
Geração de Números Aleatórios e Algoritmos
de Ordenação
Por que até o presente momento falamos sobre geração de
números aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias de
ordenação e para verificar a robustez das mesmas, os números
empregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testados
daremos o nome de Aglomerados Numéricos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Números Aleatórios e Algoritmos de Ordenação
Geração de Números Aleatórios e Algoritmos
de Ordenação
Por que até o presente momento falamos sobre geração de
números aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias de
ordenação e para verificar a robustez das mesmas, os números
empregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testados
daremos o nome de Aglomerados Numéricos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Números Aleatórios e Algoritmos de Ordenação
Geração de Números Aleatórios e Algoritmos
de Ordenação
Por que até o presente momento falamos sobre geração de
números aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias de
ordenação e para verificar a robustez das mesmas, os números
empregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testados
daremos o nome de Aglomerados Numéricos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Algoritmo criado por von Neumann.
Complexidade Operacional: O(n · log n).
Complexidade Espacial: O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de
fevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido a
série de chamadas recursivas.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Observe as fases de divisão e combinação dessa estratégia.
Exemplo das fases de execução do Merge Sort.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Observe as fases de divisão e combinação dessa estratégia.
Exemplo das fases de execução do Merge Sort.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Ordenação por Intercalação
Observe as fases de divisão e combinação dessa estratégia.
Exemplo das fases de execução do Merge Sort.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Função de Particionamento
§ ¤
1 /∗∗
2 ∗ Merge Sort i s an O( n l o g n ) comparison −based a l g o r i t h m .
3 ∗/
4 v o i d MergeSort ( MyVector& ev , i n t B e g i n L i s t , i n t EndList )
5 {
6 i f ( B e g i n L i s t < EndList − 1)
7 {
8 i n t Middle = ( B e g i n L i s t + EndList ) /2;
9 MergeSort ( ev , B e g i n L i s t , Middle ) ;
10 MergeSort ( ev , Middle , EndList ) ;
11 Merges ( ev , B e g i n L i s t , Middle , EndList ) ;
12 }
13 }
¦ ¥
Repare bem nos passos da ‘divisão e conquista’ aplicados a esse método.
A seguir exibiremos a estrutura da função de intercalação Merges.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Função de Particionamento
§ ¤
1 /∗∗
2 ∗ Merge Sort i s an O( n l o g n ) comparison −based a l g o r i t h m .
3 ∗/
4 v o i d MergeSort ( MyVector& ev , i n t B e g i n L i s t , i n t EndList )
5 {
6 i f ( B e g i n L i s t < EndList − 1)
7 {
8 i n t Middle = ( B e g i n L i s t + EndList ) /2;
9 MergeSort ( ev , B e g i n L i s t , Middle ) ;
10 MergeSort ( ev , Middle , EndList ) ;
11 Merges ( ev , B e g i n L i s t , Middle , EndList ) ;
12 }
13 }
¦ ¥
Repare bem nos passos da ‘divisão e conquista’ aplicados a esse método.
A seguir exibiremos a estrutura da função de intercalação Merges.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Função de Particionamento
§ ¤
1 /∗∗
2 ∗ Merge Sort i s an O( n l o g n ) comparison −based a l g o r i t h m .
3 ∗/
4 v o i d MergeSort ( MyVector& ev , i n t B e g i n L i s t , i n t EndList )
5 {
6 i f ( B e g i n L i s t < EndList − 1)
7 {
8 i n t Middle = ( B e g i n L i s t + EndList ) /2;
9 MergeSort ( ev , B e g i n L i s t , Middle ) ;
10 MergeSort ( ev , Middle , EndList ) ;
11 Merges ( ev , B e g i n L i s t , Middle , EndList ) ;
12 }
13 }
¦ ¥
Repare bem nos passos da ‘divisão e conquista’ aplicados a esse método.
A seguir exibiremos a estrutura da função de intercalação Merges.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Merge Sort
Merge Sort - Função de Intercalação
§ ¤
1 /∗∗
2 ∗ Method that performs the c o l l a t i o n of l i s t s .
3 ∗∗/
4 void Merges ( MyVector & ev , i n t BeginList , i n t Middle , i n t EndList )
5 {
6 i n t i , j , k ; MyVector w;
7 w. r e s i z e ( EndList − B e g i n L i s t ) ;
8
9 i = B e g i n L i s t ; j = Middle ; k = 0;
10
11 while ( i < Middle && j < EndList )
12 {
13 i f ( ev [ i ] <= ev [ j ] ) w[ k++] = ev [ i ++];
14 e l s e w[ k++] = ev [ j ++];
15 }
16
17 while ( i < Middle ) { w[ k++] = ev [ i ++]; }
18 while ( j < EndList ) { w[ k++] = ev [ j ++]; }
19
20 f o r ( i = B e g i n L i s t ; i < EndList ; ++i ) ev [ i ] = w[ i−B e g i n L i s t ] ;
21
22 w. c l e a r () ;
23 }
¦ ¥
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Algoritmo criado por Charles Hoare.
Complexidade Operacional: O(n · log n) e O(n2).
Complexidade Espacial: O(log n) e O(n).
Algoritmo do tipo “Dividir para Conquistar”.
Idéia Básica → Particionar e Recuperar.
Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka)
Algoritmo de ordenação não-estável 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.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Exemplo das fases de execução do Quick Sort
Particionamento e Recuperação – melhor caso e caso médio
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Exemplo das fases de execução do Quick Sort
Particionamento e Recuperação – melhor caso e caso médio
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida
Exemplo das fases de execução do Quick Sort
Particionamento e Recuperação – melhor caso e caso médio
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida - Pior Caso
O pior caso para o Quick Sort com pivoteamento
periférico 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
log n, pois a mesma não se encontra balanceada.
Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja,
O(N2
)
Exemplo das fases de execução do Quick Sort - Pior Caso
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida - Pior Caso
O pior caso para o Quick Sort com pivoteamento
periférico 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
log n, pois a mesma não se encontra balanceada.
Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja,
O(N2
)
Exemplo das fases de execução do Quick Sort - Pior Caso
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida - Pior Caso
O pior caso para o Quick Sort com pivoteamento
periférico 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
log n, pois a mesma não se encontra balanceada.
Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja,
O(N2
)
Exemplo das fases de execução do Quick Sort - Pior Caso
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida - Pior Caso
O pior caso para o Quick Sort com pivoteamento
periférico 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
log n, pois a mesma não se encontra balanceada.
Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja,
O(N2
)
Exemplo das fases de execução do Quick Sort - Pior Caso
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida - Pior Caso
O pior caso para o Quick Sort com pivoteamento
periférico 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
log n, pois a mesma não se encontra balanceada.
Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja,
O(N2
)
Exemplo das fases de execução do Quick Sort - Pior Caso
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Ordenação Rápida - Pior Caso
O pior caso para o Quick Sort com pivoteamento
periférico 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
log n, pois a mesma não se encontra balanceada.
Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja,
O(N2
)
Exemplo das fases de execução do Quick Sort - Pior Caso
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Pivoteamento Central
§ ¤
1 void QuickSort ( MyVector& ev , i n t BeginList , i n t EndList )
2 {
3 i n t i , j ; ElementVector c , t ;
4
5 i f ( B e g i n L i s t < EndList )
6 {
7 c = ev [ ( B e g i n L i s t + EndList ) / 2 ] ;
8 i = B e g i n L i s t ; j = EndList ;
9
10 while ( i <= j )
11 {
12 while ( ev [ i ] < c ) { ++i ; }
13 while ( c < ev [ j ] ) { −−j ; }
14
15 i f ( i <= j )
16 {
17 t = ev [ i ] , ev [ i ] = ev [ j ] , ev [ j ] = t ;
18 ++i , −−j ;
19 }
20 }
21
22 QuickSort ( ev , BeginList , j ) ;
23 QuickSort ( ev , i , EndList ) ;
24 }
25 }
¦ ¥
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
O Algoritmo de Ordenação Quick Sort
Quick Sort - Pivoteamento Periférico
§ ¤
1 void QSort ( MyVector& ev , i n t l e f t , i n t r i g h t )
2 {
3 i n t new_right ;
4 i f ( r i g h t > l e f t )
5 {
6 new_right = P a r t i t i o n ( ev , l e f t , r i g h t ) ;
7 QSort ( ev , l e f t , new_right − 1 ) ;
8 QSort ( ev , new_right + 1 , r i g h t ) ;
9 }
10 return ;
11 }
¦ ¥
§ ¤
1 i n t P a r t i t i o n ( MyVector& ev , i n t l e f t , i n t r i g h t )
2 {
3 r e g i s t e r i n t i , j ; i = l e f t ;
4
5 f o r ( j = l e f t + 1; j <= r i g h t ; j++)
6 {
7 i f ( ev [ j ] < ev [ l e f t ] ) { ++i ; ev . swap ( i , j ) ; }
8 }
9
10 ev . swap ( l e f t , i ) ;
11 return i ;
12 }
¦ ¥
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos
Até Onde Avançamos
A seguir iremos apresentar alguns resultados obtidos através da
implementação de uma ferramenta que verifica o número de
instruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
Geração de aglomerado numérico aleatório;
Escolha da distribuição para geração do aglomerado numérico;
Escolha do método ou estratégia de ordenação.
Vamos aos resultados!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Algoritmos
Algoritmos Avaliados
Os seguintes algoritmos foram implementados e avaliados confrontando
suas respectivas complexidades teóricas e suas aplicações práticas:
Bubble Sort
Gnome Sort
Shaker Sort
Comb Sort
Insertion Sort
Selection Sort
Shell Sort
Heap Sort
Quick Sort
Merge Sort
Para cada execução de um determinado algoritmo são exibidas as
seguintes informações:
Número de Iterações;
Número de Comparações;
Número de Inversões;
Tempo de Execução em Segundos.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Bubble Sort
Ordenação Bolha
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Gnome Sort
Ordenação dos ‘Anões de Jardim’
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Shaker Sort
Ordenação Chacoalhadeira
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Comb Sort
Ordenação ‘Pente’
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Insertion Sort
Ordenação por Inserção
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Selection Sort
Ordenação por Seleção
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Shell Sort
Ordenação ‘Concha’
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Heap Sort
Ordenação por ‘Amontoamento’
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Quick Sort
Ordenação Rápida com Pivoteamento Central
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Merge Sort
Ordenação por Intercalação
Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Resultados Obtidos: Quadro de Classificação
Analisando o Quadro de Classificação
Classificação
Algoritmo Tempo
Bubble 166.785s
Gnome 158.188s
Shaker 143.156s
Comb 142.328s
Insertion 81.765s
Selection 68.204s
Shell 1.281s
Heap 1.235s
Quick 1.234s
Merge 1.375s Bubble Gnome Shaker Comb Insertion Selection Shell Heap Quick Merge
050100150
Algoritmos
Bubble
Gnome
Shaker
Comb
Insertion
Selection
Shell
Heap
Quick
Merge
Tempos obtidos através da aplicação dos respectivos algoritmos em aglomerados numéricos aleatórios com
cardinalidade igual a 100000. Aglomerados compostos por números reais gerados através de congruência linear.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade
de implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as
melhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
Ordenação Multi-Thread/Uso de Paralelismo;
Inserção de gráfico de desempenho acumulativo;
Ordenação Distribuída/Uso de Middleware;
Transformação dos algoritmos de ordenação em plugins.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Isso é Tudo Pessoal!
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Agradecimentos
Grato Pela Atenção!
Michel Alves - michel.mas@gmail.com
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação

More Related Content

Similar to Sorting Algorithms

Análise de Comportamento e Desempenho de Algoritmos de Ordenação
Análise de Comportamento e Desempenho de Algoritmos de OrdenaçãoAnálise de Comportamento e Desempenho de Algoritmos de Ordenação
Análise de Comportamento e Desempenho de Algoritmos de OrdenaçãoBruno Mourao Siqueira
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
Numerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential EquationsNumerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential EquationsMichel Alves
 
Algorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptxAlgorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptxCristiano Borges
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareJosé Corrêa Viana
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos João moreira
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine ArchitectureMichel Alves
 
061112 mat a02
061112 mat a02061112 mat a02
061112 mat a02Katia Gama
 
Sorting Algorithms - Merge and Quick
Sorting Algorithms - Merge and QuickSorting Algorithms - Merge and Quick
Sorting Algorithms - Merge and QuickMichel Alves
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Geanderson Lenz
 
Teste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterTeste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterJuliano Santos
 
Logica programacao estruturadados-INFORMATICA PARA CONCURSO
Logica programacao estruturadados-INFORMATICA PARA CONCURSOLogica programacao estruturadados-INFORMATICA PARA CONCURSO
Logica programacao estruturadados-INFORMATICA PARA CONCURSOEDILENE CABRAL
 

Similar to Sorting Algorithms (20)

Análise de Comportamento e Desempenho de Algoritmos de Ordenação
Análise de Comportamento e Desempenho de Algoritmos de OrdenaçãoAnálise de Comportamento e Desempenho de Algoritmos de Ordenação
Análise de Comportamento e Desempenho de Algoritmos de Ordenação
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Numerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential EquationsNumerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential Equations
 
Algorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptxAlgorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptx
 
Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)Trabalho Lost171 (Atualizado)
Trabalho Lost171 (Atualizado)
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos
 
Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
061112 mat a02
061112 mat a02061112 mat a02
061112 mat a02
 
Algoritmos parte1
Algoritmos parte1Algoritmos parte1
Algoritmos parte1
 
Sorting Algorithms - Merge and Quick
Sorting Algorithms - Merge and QuickSorting Algorithms - Merge and Quick
Sorting Algorithms - Merge and Quick
 
apresentacaoEAM.pdf
apresentacaoEAM.pdfapresentacaoEAM.pdf
apresentacaoEAM.pdf
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...
 
Teste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterTeste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeter
 
Logica programacao estruturadados-INFORMATICA PARA CONCURSO
Logica programacao estruturadados-INFORMATICA PARA CONCURSOLogica programacao estruturadados-INFORMATICA PARA CONCURSO
Logica programacao estruturadados-INFORMATICA PARA CONCURSO
 

More from Michel Alves

Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel FunctionsMichel Alves
 
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 SpaceMichel Alves
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - ResultsMichel Alves
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseMichel Alves
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexMichel Alves
 
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 HarmonizationMichel Alves
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsMichel Alves
 
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/UFRJMichel Alves
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in RMichel Alves
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel PrototypeMichel Alves
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh PlotMichel Alves
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesMichel Alves
 
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 CatalogMichel Alves
 
Capacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary ResultsCapacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary ResultsMichel Alves
 
Capacity-Constrained Point Distributions
Capacity-Constrained Point DistributionsCapacity-Constrained Point Distributions
Capacity-Constrained Point DistributionsMichel Alves
 
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...Michel Alves
 
Harris Detector Results
Harris Detector ResultsHarris Detector Results
Harris Detector ResultsMichel Alves
 

More from Michel Alves (20)

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
 
Capacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary ResultsCapacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary Results
 
Capacity-Constrained Point Distributions
Capacity-Constrained Point DistributionsCapacity-Constrained Point Distributions
Capacity-Constrained Point Distributions
 
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
 
Harris Detector Results
Harris Detector ResultsHarris Detector Results
Harris Detector Results
 

Recently uploaded

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
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 .pptxJustinoTeixeira1
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfgerathird
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfKarinaSouzaCorreiaAl
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
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.pptxMarcosLemes28
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptNathaliaFreitas32
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 

Recently uploaded (20)

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
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
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
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
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 

Sorting Algorithms

  • 1. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Algoritmos de Ordenação Análise das Estratégias Merge Sort e Quick Sort Michel Alves dos Santos Universidade Federal de Alagoas, Campus A. C. Simões Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 Centro de Pesquisa em Matemática Computacional Docente Responsável: Prof. Dr. Thales Vieira 19 de Setembro 2011 Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 2. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 3. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 4. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 5. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 6. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 7. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 8. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 9. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 10. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Sumário Tópicos Centrais da Explanação Aleatoriedade e Aplicações Cotidianas; Métodos de Geração de Números Aleatórios; Números Aleatórios e Algoritmos de Ordenação; O Algoritmo de Ordenação Merge Sort; O Algoritmo de Ordenação Quick Sort; Resultados Obtidos & Conclusões. Primeiramente iremos falar um pouco sobre aleatoriedade e mostrar a relação que a mesma possui com o trabalho vigente. Iremos finalizar nossa explanação apresentando alguns resultados obtidos através da avaliação dos algoritmos propostos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 11. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Geradores de Números Aleatórios True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurança digital, enquanto os PRNGs são largamente utilizados em simulações e modelagem computacional [Análise Visual, Simulação de Infecção Viral, Algoritmos Evolutivos, etc.] Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 12. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Geradores de Números Aleatórios True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurança digital, enquanto os PRNGs são largamente utilizados em simulações e modelagem computacional [Análise Visual, Simulação de Infecção Viral, Algoritmos Evolutivos, etc.] Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 13. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Geradores de Números Aleatórios True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurança digital, enquanto os PRNGs são largamente utilizados em simulações e modelagem computacional [Análise Visual, Simulação de Infecção Viral, Algoritmos Evolutivos, etc.] Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 14. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Eficiência dos Geradores de Números True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Característica Pseudo-Random Number Generator True Random Number Generator Eficiência Excelente Pobre Determinismo Determinístico Não-determinístico Periodicidade Periódico Aperiódico Tabela: Tabela comparativa das categorias de gerador de números aleatórios que leva em consideração a eficiência, o determinismo e a periodicidade. Aplicações Gerador Recomendado Loterias, Jogos, Segurança, etc. TRNG Simulação e Modelagem PRNG Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas possíveis áreas de emprego. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 15. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Eficiência dos Geradores de Números True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Característica Pseudo-Random Number Generator True Random Number Generator Eficiência Excelente Pobre Determinismo Determinístico Não-determinístico Periodicidade Periódico Aperiódico Tabela: Tabela comparativa das categorias de gerador de números aleatórios que leva em consideração a eficiência, o determinismo e a periodicidade. Aplicações Gerador Recomendado Loterias, Jogos, Segurança, etc. TRNG Simulação e Modelagem PRNG Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas possíveis áreas de emprego. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 16. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Eficiência dos Geradores de Números True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Característica Pseudo-Random Number Generator True Random Number Generator Eficiência Excelente Pobre Determinismo Determinístico Não-determinístico Periodicidade Periódico Aperiódico Tabela: Tabela comparativa das categorias de gerador de números aleatórios que leva em consideração a eficiência, o determinismo e a periodicidade. Aplicações Gerador Recomendado Loterias, Jogos, Segurança, etc. TRNG Simulação e Modelagem PRNG Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas possíveis áreas de emprego. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 17. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Aleatoriedade e Aplicações Cotidianas Eficiência dos Geradores de Números True Random Number Generators [TRNG]. Pseudo-Random Number Generators [PRNG]. Característica Pseudo-Random Number Generator True Random Number Generator Eficiência Excelente Pobre Determinismo Determinístico Não-determinístico Periodicidade Periódico Aperiódico Tabela: Tabela comparativa das categorias de gerador de números aleatórios que leva em consideração a eficiência, o determinismo e a periodicidade. Aplicações Gerador Recomendado Loterias, Jogos, Segurança, etc. TRNG Simulação e Modelagem PRNG Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suas possíveis áreas de emprego. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 18. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Métodos de Geração de Números Aleatórios Métodos Comumente Encontrados Método Congruencial Linear; Método de Deslocamento R250; Método de Deslocamento Mersenne Twistter. Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios. Gerador Periodicidade Tipo Linear Congruential Generator [glibc - gcc] 232 Congruente Linear Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente Linear R250 2250 − 1 Deslocamento de Registro Mersenne Twister 219937 − 1 Deslocamento de Registro Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 19. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Métodos de Geração de Números Aleatórios Métodos Comumente Encontrados Método Congruencial Linear; Método de Deslocamento R250; Método de Deslocamento Mersenne Twistter. Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios. Gerador Periodicidade Tipo Linear Congruential Generator [glibc - gcc] 232 Congruente Linear Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente Linear R250 2250 − 1 Deslocamento de Registro Mersenne Twister 219937 − 1 Deslocamento de Registro Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 20. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Métodos de Geração de Números Aleatórios Métodos Comumente Encontrados Método Congruencial Linear; Método de Deslocamento R250; Método de Deslocamento Mersenne Twistter. Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios. Gerador Periodicidade Tipo Linear Congruential Generator [glibc - gcc] 232 Congruente Linear Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente Linear R250 2250 − 1 Deslocamento de Registro Mersenne Twister 219937 − 1 Deslocamento de Registro Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 21. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Métodos de Geração de Números Aleatórios Métodos Comumente Encontrados Método Congruencial Linear; Método de Deslocamento R250; Método de Deslocamento Mersenne Twistter. Figura: Os números aleatórios são necessários em cálculo numérico, quando não devem existir 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 mesmas sejam independentes e em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios. Gerador Periodicidade Tipo Linear Congruential Generator [glibc - gcc] 232 Congruente Linear Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente Linear R250 2250 − 1 Deslocamento de Registro Mersenne Twister 219937 − 1 Deslocamento de Registro Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 22. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Números Aleatórios e Algoritmos de Ordenação Geração de Números Aleatórios e Algoritmos de Ordenação Por que até o presente momento falamos sobre geração de números aleatórios? Fizemos isso por um simples motivo! Posteriormente iremos testar os limites teóricos das estratégias de ordenação e para verificar a robustez das mesmas, os números empregados devem possuir natureza e origem ‘aleatórias’! Aos conjuntos de números que serão obtidos e testados daremos o nome de Aglomerados Numéricos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 23. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Números Aleatórios e Algoritmos de Ordenação Geração de Números Aleatórios e Algoritmos de Ordenação Por que até o presente momento falamos sobre geração de números aleatórios? Fizemos isso por um simples motivo! Posteriormente iremos testar os limites teóricos das estratégias de ordenação e para verificar a robustez das mesmas, os números empregados devem possuir natureza e origem ‘aleatórias’! Aos conjuntos de números que serão obtidos e testados daremos o nome de Aglomerados Numéricos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 24. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Números Aleatórios e Algoritmos de Ordenação Geração de Números Aleatórios e Algoritmos de Ordenação Por que até o presente momento falamos sobre geração de números aleatórios? Fizemos isso por um simples motivo! Posteriormente iremos testar os limites teóricos das estratégias de ordenação e para verificar a robustez das mesmas, os números empregados devem possuir natureza e origem ‘aleatórias’! Aos conjuntos de números que serão obtidos e testados daremos o nome de Aglomerados Numéricos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 25. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Números Aleatórios e Algoritmos de Ordenação Geração de Números Aleatórios e Algoritmos de Ordenação Por que até o presente momento falamos sobre geração de números aleatórios? Fizemos isso por um simples motivo! Posteriormente iremos testar os limites teóricos das estratégias de ordenação e para verificar a robustez das mesmas, os números empregados devem possuir natureza e origem ‘aleatórias’! Aos conjuntos de números que serão obtidos e testados daremos o nome de Aglomerados Numéricos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 26. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Números Aleatórios e Algoritmos de Ordenação Geração de Números Aleatórios e Algoritmos de Ordenação Por que até o presente momento falamos sobre geração de números aleatórios? Fizemos isso por um simples motivo! Posteriormente iremos testar os limites teóricos das estratégias de ordenação e para verificar a robustez das mesmas, os números empregados devem possuir natureza e origem ‘aleatórias’! Aos conjuntos de números que serão obtidos e testados daremos o nome de Aglomerados Numéricos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 27. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 28. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 29. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 30. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 31. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 32. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 33. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 34. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Algoritmo criado por von Neumann. Complexidade Operacional: O(n · log n). Complexidade Espacial: O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Dividir, Conquistar, Combinar. John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 de fevereiro de 1957 (Washington, D.C.- EUA) Desvantagem: Alto consumo de memória, devido a série de chamadas recursivas. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 35. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Observe as fases de divisão e combinação dessa estratégia. Exemplo das fases de execução do Merge Sort. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 36. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Observe as fases de divisão e combinação dessa estratégia. Exemplo das fases de execução do Merge Sort. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 37. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Ordenação por Intercalação Observe as fases de divisão e combinação dessa estratégia. Exemplo das fases de execução do Merge Sort. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 38. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Função de Particionamento § ¤ 1 /∗∗ 2 ∗ Merge Sort i s an O( n l o g n ) comparison −based a l g o r i t h m . 3 ∗/ 4 v o i d MergeSort ( MyVector& ev , i n t B e g i n L i s t , i n t EndList ) 5 { 6 i f ( B e g i n L i s t < EndList − 1) 7 { 8 i n t Middle = ( B e g i n L i s t + EndList ) /2; 9 MergeSort ( ev , B e g i n L i s t , Middle ) ; 10 MergeSort ( ev , Middle , EndList ) ; 11 Merges ( ev , B e g i n L i s t , Middle , EndList ) ; 12 } 13 } ¦ ¥ Repare bem nos passos da ‘divisão e conquista’ aplicados a esse método. A seguir exibiremos a estrutura da função de intercalação Merges. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 39. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Função de Particionamento § ¤ 1 /∗∗ 2 ∗ Merge Sort i s an O( n l o g n ) comparison −based a l g o r i t h m . 3 ∗/ 4 v o i d MergeSort ( MyVector& ev , i n t B e g i n L i s t , i n t EndList ) 5 { 6 i f ( B e g i n L i s t < EndList − 1) 7 { 8 i n t Middle = ( B e g i n L i s t + EndList ) /2; 9 MergeSort ( ev , B e g i n L i s t , Middle ) ; 10 MergeSort ( ev , Middle , EndList ) ; 11 Merges ( ev , B e g i n L i s t , Middle , EndList ) ; 12 } 13 } ¦ ¥ Repare bem nos passos da ‘divisão e conquista’ aplicados a esse método. A seguir exibiremos a estrutura da função de intercalação Merges. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 40. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Função de Particionamento § ¤ 1 /∗∗ 2 ∗ Merge Sort i s an O( n l o g n ) comparison −based a l g o r i t h m . 3 ∗/ 4 v o i d MergeSort ( MyVector& ev , i n t B e g i n L i s t , i n t EndList ) 5 { 6 i f ( B e g i n L i s t < EndList − 1) 7 { 8 i n t Middle = ( B e g i n L i s t + EndList ) /2; 9 MergeSort ( ev , B e g i n L i s t , Middle ) ; 10 MergeSort ( ev , Middle , EndList ) ; 11 Merges ( ev , B e g i n L i s t , Middle , EndList ) ; 12 } 13 } ¦ ¥ Repare bem nos passos da ‘divisão e conquista’ aplicados a esse método. A seguir exibiremos a estrutura da função de intercalação Merges. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 41. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Merge Sort Merge Sort - Função de Intercalação § ¤ 1 /∗∗ 2 ∗ Method that performs the c o l l a t i o n of l i s t s . 3 ∗∗/ 4 void Merges ( MyVector & ev , i n t BeginList , i n t Middle , i n t EndList ) 5 { 6 i n t i , j , k ; MyVector w; 7 w. r e s i z e ( EndList − B e g i n L i s t ) ; 8 9 i = B e g i n L i s t ; j = Middle ; k = 0; 10 11 while ( i < Middle && j < EndList ) 12 { 13 i f ( ev [ i ] <= ev [ j ] ) w[ k++] = ev [ i ++]; 14 e l s e w[ k++] = ev [ j ++]; 15 } 16 17 while ( i < Middle ) { w[ k++] = ev [ i ++]; } 18 while ( j < EndList ) { w[ k++] = ev [ j ++]; } 19 20 f o r ( i = B e g i n L i s t ; i < EndList ; ++i ) ev [ i ] = w[ i−B e g i n L i s t ] ; 21 22 w. c l e a r () ; 23 } ¦ ¥ Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 42. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 43. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 44. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 45. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 46. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 47. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 48. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 49. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 50. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Algoritmo criado por Charles Hoare. Complexidade Operacional: O(n · log n) e O(n2). Complexidade Espacial: O(log n) e O(n). Algoritmo do tipo “Dividir para Conquistar”. Idéia Básica → Particionar e Recuperar. Sir Charles Antony Richard Hoare. 11 de janeiro de 1934 (Colombo – Sri Lanka) Algoritmo de ordenação não-estável 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. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 51. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Exemplo das fases de execução do Quick Sort Particionamento e Recuperação – melhor caso e caso médio Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 52. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Exemplo das fases de execução do Quick Sort Particionamento e Recuperação – melhor caso e caso médio Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 53. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida Exemplo das fases de execução do Quick Sort Particionamento e Recuperação – melhor caso e caso médio Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 54. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida - Pior Caso O pior caso para o Quick Sort com pivoteamento periférico 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 log n, pois a mesma não se encontra balanceada. Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja, O(N2 ) Exemplo das fases de execução do Quick Sort - Pior Caso Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 55. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida - Pior Caso O pior caso para o Quick Sort com pivoteamento periférico 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 log n, pois a mesma não se encontra balanceada. Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja, O(N2 ) Exemplo das fases de execução do Quick Sort - Pior Caso Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 56. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida - Pior Caso O pior caso para o Quick Sort com pivoteamento periférico 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 log n, pois a mesma não se encontra balanceada. Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja, O(N2 ) Exemplo das fases de execução do Quick Sort - Pior Caso Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 57. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida - Pior Caso O pior caso para o Quick Sort com pivoteamento periférico 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 log n, pois a mesma não se encontra balanceada. Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja, O(N2 ) Exemplo das fases de execução do Quick Sort - Pior Caso Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 58. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida - Pior Caso O pior caso para o Quick Sort com pivoteamento periférico 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 log n, pois a mesma não se encontra balanceada. Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja, O(N2 ) Exemplo das fases de execução do Quick Sort - Pior Caso Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 59. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Ordenação Rápida - Pior Caso O pior caso para o Quick Sort com pivoteamento periférico 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 log n, pois a mesma não se encontra balanceada. Finalmente sua complexidade será dada por N · (N − 1)/2, ou seja, O(N2 ) Exemplo das fases de execução do Quick Sort - Pior Caso Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 60. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Pivoteamento Central § ¤ 1 void QuickSort ( MyVector& ev , i n t BeginList , i n t EndList ) 2 { 3 i n t i , j ; ElementVector c , t ; 4 5 i f ( B e g i n L i s t < EndList ) 6 { 7 c = ev [ ( B e g i n L i s t + EndList ) / 2 ] ; 8 i = B e g i n L i s t ; j = EndList ; 9 10 while ( i <= j ) 11 { 12 while ( ev [ i ] < c ) { ++i ; } 13 while ( c < ev [ j ] ) { −−j ; } 14 15 i f ( i <= j ) 16 { 17 t = ev [ i ] , ev [ i ] = ev [ j ] , ev [ j ] = t ; 18 ++i , −−j ; 19 } 20 } 21 22 QuickSort ( ev , BeginList , j ) ; 23 QuickSort ( ev , i , EndList ) ; 24 } 25 } ¦ ¥ Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 61. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões O Algoritmo de Ordenação Quick Sort Quick Sort - Pivoteamento Periférico § ¤ 1 void QSort ( MyVector& ev , i n t l e f t , i n t r i g h t ) 2 { 3 i n t new_right ; 4 i f ( r i g h t > l e f t ) 5 { 6 new_right = P a r t i t i o n ( ev , l e f t , r i g h t ) ; 7 QSort ( ev , l e f t , new_right − 1 ) ; 8 QSort ( ev , new_right + 1 , r i g h t ) ; 9 } 10 return ; 11 } ¦ ¥ § ¤ 1 i n t P a r t i t i o n ( MyVector& ev , i n t l e f t , i n t r i g h t ) 2 { 3 r e g i s t e r i n t i , j ; i = l e f t ; 4 5 f o r ( j = l e f t + 1; j <= r i g h t ; j++) 6 { 7 i f ( ev [ j ] < ev [ l e f t ] ) { ++i ; ev . swap ( i , j ) ; } 8 } 9 10 ev . swap ( l e f t , i ) ; 11 return i ; 12 } ¦ ¥ Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 62. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 63. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 64. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 65. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 66. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 67. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 68. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos Até Onde Avançamos A seguir iremos apresentar alguns resultados obtidos através da implementação de uma ferramenta que verifica o número de instruções executadas em aglomerados numéricos aleatórios, crescentes e decrescentes. A ferramenta possui as seguintes funcionalidades Geração de aglomerado numérico aleatório; Escolha da distribuição para geração do aglomerado numérico; Escolha do método ou estratégia de ordenação. Vamos aos resultados! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 69. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Algoritmos Algoritmos Avaliados Os seguintes algoritmos foram implementados e avaliados confrontando suas respectivas complexidades teóricas e suas aplicações práticas: Bubble Sort Gnome Sort Shaker Sort Comb Sort Insertion Sort Selection Sort Shell Sort Heap Sort Quick Sort Merge Sort Para cada execução de um determinado algoritmo são exibidas as seguintes informações: Número de Iterações; Número de Comparações; Número de Inversões; Tempo de Execução em Segundos. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 70. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Bubble Sort Ordenação Bolha Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 71. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Gnome Sort Ordenação dos ‘Anões de Jardim’ Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 72. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Shaker Sort Ordenação Chacoalhadeira Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 73. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Comb Sort Ordenação ‘Pente’ Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 74. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Insertion Sort Ordenação por Inserção Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 75. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Selection Sort Ordenação por Seleção Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 76. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Shell Sort Ordenação ‘Concha’ Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 77. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Heap Sort Ordenação por ‘Amontoamento’ Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 78. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Quick Sort Ordenação Rápida com Pivoteamento Central Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 79. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Merge Sort Ordenação por Intercalação Ordenação realizada sobre aglomerados numéricos com 1000, 10000 e 100000 números. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 80. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Resultados Obtidos: Quadro de Classificação Analisando o Quadro de Classificação Classificação Algoritmo Tempo Bubble 166.785s Gnome 158.188s Shaker 143.156s Comb 142.328s Insertion 81.765s Selection 68.204s Shell 1.281s Heap 1.235s Quick 1.234s Merge 1.375s Bubble Gnome Shaker Comb Insertion Selection Shell Heap Quick Merge 050100150 Algoritmos Bubble Gnome Shaker Comb Insertion Selection Shell Heap Quick Merge Tempos obtidos através da aplicação dos respectivos algoritmos em aglomerados numéricos aleatórios com cardinalidade igual a 100000. Aglomerados compostos por números reais gerados através de congruência linear. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 81. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 82. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 83. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 84. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 85. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 86. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 87. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 88. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Conclusões Balanço Geral da Análise Algoritmos de ordenação quadráticos possuem baixa complexidade de implementação porém pecam no quesito desempenho. Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhores opções, porém devemos estar atentos aos casos degenerativos. Possíveis Extensões da Ferramenta Ordenação Multi-Thread/Uso de Paralelismo; Inserção de gráfico de desempenho acumulativo; Ordenação Distribuída/Uso de Middleware; Transformação dos algoritmos de ordenação em plugins. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 89. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Isso é Tudo Pessoal! Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação
  • 90. Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões Agradecimentos Grato Pela Atenção! Michel Alves - michel.mas@gmail.com Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação