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

Más contenido relacionado

Similar a 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 a 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
 

Más de 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
 

Más de 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
 

Último

Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
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
 
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
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 

Último (20)

Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
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
 
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
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 

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