SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

KEY
Dividir para conquistar
PDF
Domínio: Dividir e conquistar
PDF
Estrutura de Dados - Características da linguagem C - 1
PDF
Effectiveness of Image Quality Assessment Indexes
PDF
Intelligent Transfer of Thematic Harmonic Color Palettes
PDF
A Framework for Harmonic Color Measures
PDF
Texture Synthesis: An Approach Based on GPU Use
Dividir para conquistar
Domínio: Dividir e conquistar
Estrutura de Dados - Características da linguagem C - 1
Effectiveness of Image Quality Assessment Indexes
Intelligent Transfer of Thematic Harmonic Color Palettes
A Framework for Harmonic Color Measures
Texture Synthesis: An Approach Based on GPU Use

Semelhante a Sorting Algorithms (20)

PDF
Análise de Comportamento e Desempenho de Algoritmos de Ordenação
PDF
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
PDF
Numerical Methods for Solving Linear Ordinary Differential Equations
PPTX
Algorítmos e Lógica de Programação1.pptx
PPT
Trabalho Lost171 (Atualizado)
PDF
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
PDF
Apresentação 20130805 algoritmos
DOCX
Pi raciocinio lógico
PDF
Game Engine Architecture
PPT
Logica Programação. ...
PDF
Aula 5 – Algoritmos – Estrutura Sequencial – Parte 2.pdf
PPT
Introdução a Algoritmos e Programas.ppt
PDF
061112 mat a02
PDF
Algoritmos parte1
PDF
Sorting Algorithms - Merge and Quick
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PDF
apresentacaoEAM.pdf
Análise de Comportamento e Desempenho de Algoritmos de Ordenação
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Numerical Methods for Solving Linear Ordinary Differential Equations
Algorítmos e Lógica de Programação1.pptx
Trabalho Lost171 (Atualizado)
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Apresentação 20130805 algoritmos
Pi raciocinio lógico
Game Engine Architecture
Logica Programação. ...
Aula 5 – Algoritmos – Estrutura Sequencial – Parte 2.pdf
Introdução a Algoritmos e Programas.ppt
061112 mat a02
Algoritmos parte1
Sorting Algorithms - Merge and Quick
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
apresentacaoEAM.pdf
Anúncio

Mais de Michel Alves (20)

PDF
Introduction to Kernel Functions
PDF
About Perception and Hue Histograms in HSV Space
PDF
Color Harmonization - Results
PDF
Wave Simulation Using Perlin Noise
PDF
Similarity Maps Using SSIM Index
PDF
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
PDF
TMS - Schedule of Presentations and Reports
PDF
Month Presentations Schedule - March/2015 - LCG/UFRJ
PDF
Color Palettes in R
PDF
Sigmoid Curve Erf
PDF
Hue Wheel Prototype
PDF
Cosine Curve
PDF
Triangle Mesh Plot
PDF
Triangle Plot
PDF
Capacity-Constrained Point Distributions :: Video Slides
PDF
Capacity-Constrained Point Distributions :: Density Function Catalog
PDF
Capacity-Constrained Point Distributions :: Complementary Results
PDF
Capacity-Constrained Point Distributions
PDF
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
PDF
Harris Detector Results
Introduction to Kernel Functions
About Perception and Hue Histograms in HSV Space
Color Harmonization - Results
Wave Simulation Using Perlin Noise
Similarity Maps Using SSIM Index
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
TMS - Schedule of Presentations and Reports
Month Presentations Schedule - March/2015 - LCG/UFRJ
Color Palettes in R
Sigmoid Curve Erf
Hue Wheel Prototype
Cosine Curve
Triangle Mesh Plot
Triangle Plot
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions
Five Minute Speech: An Overview of Activities Developed in Disciplines and Gu...
Harris Detector Results
Anúncio

Último (20)

PDF
Ementa 2 semestre PEI Orientação de estudo
PPTX
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
PPTX
Noções de Saúde e Segurança do Trabalho.pptx
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PDF
PPC-Letras-Português_Licenciatura_CCHE.pdf
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PPTX
Ciências da Natureza e suas áreas de desenvolvimento
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PDF
A provisão de jojuador (ramadã) islamismo
PPT
História e Evolução dos Computadores domésticos
PDF
A Revolução Francesa de 1789 slides história
PPTX
biossegurança e segurança no trabalho (6).pptx
PPTX
MENDEL - Aula sobre Mendel - Genética EM
PDF
saeb_documentos_de_referencia_versao_1.0.pdf
PDF
Primeiros socorros - primeiro encontro.pdf
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PPTX
O Romantismo e a identidade brasileira..
DOCX
Mapa das Américas Colonial Completo.docx
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
Ementa 2 semestre PEI Orientação de estudo
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
Noções de Saúde e Segurança do Trabalho.pptx
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PPC-Letras-Português_Licenciatura_CCHE.pdf
brasilcolnia2-101027184359-phpapp02.pptx
Ciências da Natureza e suas áreas de desenvolvimento
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
A provisão de jojuador (ramadã) islamismo
História e Evolução dos Computadores domésticos
A Revolução Francesa de 1789 slides história
biossegurança e segurança no trabalho (6).pptx
MENDEL - Aula sobre Mendel - Genética EM
saeb_documentos_de_referencia_versao_1.0.pdf
Primeiros socorros - primeiro encontro.pdf
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
O Romantismo e a identidade brasileira..
Mapa das Américas Colonial Completo.docx
Realismo e Naturalismo: Aluísio Azevedo.

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