Download - Sorting Algorithms
Universidade Federal do Estado de Alagoas Instituto de Matemática - Campus A. C. Simões
Algoritmos de OrdenaçãoAnálise das Estratégias Merge Sort e Quick Sort
Michel Alves dos Santos
Universidade Federal de Alagoas, Campus A. C. SimõesTabuleiro do Martins - Maceió - AL, CEP: 57072-970Centro 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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çãoI Aleatoriedade e Aplicações Cotidianas;I Métodos de Geração de Números Aleatórios;I Números Aleatórios e Algoritmos de Ordenação;I O Algoritmo de Ordenação Merge Sort;I O Algoritmo de Ordenação Quick Sort;I Resultados Obtidos & Conclusões.
Primeiramente iremos falar um pouco sobre aleatoriedade emostrar a relação que a mesma possui com o trabalho vigente.
Iremos finalizar nossa explanação apresentando alguns resultadosobtidos 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óriosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurançadigital, enquanto os PRNGs são largamente utilizados em simulações e modelagemcomputacional [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óriosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurançadigital, enquanto os PRNGs são largamente utilizados em simulações e modelagemcomputacional [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óriosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Figura: O emprego de TRNGs é mais adequado as loterias, jogos e segurançadigital, enquanto os PRNGs são largamente utilizados em simulações e modelagemcomputacional [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úmerosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number GeneratorEficiência Excelente Pobre
Determinismo Determinístico Não-determinísticoPeriodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios queleva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador RecomendadoLoterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suaspossí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úmerosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number GeneratorEficiência Excelente Pobre
Determinismo Determinístico Não-determinísticoPeriodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios queleva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador RecomendadoLoterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suaspossí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úmerosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number GeneratorEficiência Excelente Pobre
Determinismo Determinístico Não-determinísticoPeriodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios queleva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador RecomendadoLoterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suaspossí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úmerosI True Random Number Generators [TRNG].I Pseudo-Random Number Generators [PRNG].
Característica Pseudo-Random Number Generator True Random Number GeneratorEficiência Excelente Pobre
Determinismo Determinístico Não-determinísticoPeriodicidade Periódico Aperiódico
Tabela: Tabela comparativa das categorias de gerador de números aleatórios queleva em consideração a eficiência, o determinismo e a periodicidade.
Aplicações Gerador RecomendadoLoterias, Jogos, Segurança, etc. TRNG
Simulação e Modelagem PRNG
Tabela: Tabela comparativa das categorias de gerador de números aleatórios e suaspossí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 EncontradosI Método Congruencial Linear;I Método de Deslocamento R250;I 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çõesentre 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 independentese em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade TipoLinear Congruential Generator [glibc - gcc] 232 Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente LinearR250 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 EncontradosI Método Congruencial Linear;I Método de Deslocamento R250;I 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çõesentre 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 independentese em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade TipoLinear Congruential Generator [glibc - gcc] 232 Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente LinearR250 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 EncontradosI Método Congruencial Linear;I Método de Deslocamento R250;I 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çõesentre 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 independentese em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade TipoLinear Congruential Generator [glibc - gcc] 232 Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente LinearR250 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 EncontradosI Método Congruencial Linear;I Método de Deslocamento R250;I 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çõesentre 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 independentese em criptografia [3]. Abaixo uma tabela com os períodos de alguns métodos de geração de números aleatórios.
Gerador Periodicidade TipoLinear Congruential Generator [glibc - gcc] 232 Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente LinearR250 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 Algoritmosde Ordenação
Por que até o presente momento falamos sobre geração denúmeros aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias deordenação e para verificar a robustez das mesmas, os númerosempregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testadosdaremos 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 Algoritmosde Ordenação
Por que até o presente momento falamos sobre geração denúmeros aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias deordenação e para verificar a robustez das mesmas, os númerosempregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testadosdaremos 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 Algoritmosde Ordenação
Por que até o presente momento falamos sobre geração denúmeros aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias deordenação e para verificar a robustez das mesmas, os númerosempregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testadosdaremos 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 Algoritmosde Ordenação
Por que até o presente momento falamos sobre geração denúmeros aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias deordenação e para verificar a robustez das mesmas, os númerosempregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testadosdaremos 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 Algoritmosde Ordenação
Por que até o presente momento falamos sobre geração denúmeros aleatórios?
Fizemos isso por um simples motivo!
Posteriormente iremos testar os limites teóricos das estratégias deordenação e para verificar a robustez das mesmas, os númerosempregados devem possuir natureza e origem ‘aleatórias’!
Aos conjuntos de números que serão obtidos e testadosdaremos 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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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
I Algoritmo criado por von Neumann.I Complexidade Operacional: O(n · log n).I Complexidade Espacial: O(n).I Algoritmo do tipo “Dividir para Conquistar”.I Idéia Básica → Dividir, Conquistar, Combinar.
John von Neumann. 28 de dezembro de 1903 (Budapeste - Hungria) – 8 defevereiro de 1957 (Washington, D.C.- EUA)
Desvantagem: Alto consumo de memória, devido asé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 So r t i s an O(n l o g n ) compar i son−based a l g o r i t hm .3 ∗/4 vo i d MergeSort (MyVector& ev , i n t Beg i nL i s t , i n t EndL i s t )5 {6 i f ( B e g i n L i s t < EndL i s t − 1)7 {8 i n t Midd le = ( Beg i n L i s t + EndL i s t ) /2 ;9 MergeSort ( ev , Beg i nL i s t , Midd le ) ;10 MergeSort ( ev , Middle , EndL i s t ) ;11 Merges ( ev , Beg i nL i s t , Middle , EndL i s t ) ;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 So r t i s an O(n l o g n ) compar i son−based a l g o r i t hm .3 ∗/4 vo i d MergeSort (MyVector& ev , i n t Beg i nL i s t , i n t EndL i s t )5 {6 i f ( B e g i n L i s t < EndL i s t − 1)7 {8 i n t Midd le = ( Beg i n L i s t + EndL i s t ) /2 ;9 MergeSort ( ev , Beg i nL i s t , Midd le ) ;10 MergeSort ( ev , Middle , EndL i s t ) ;11 Merges ( ev , Beg i nL i s t , Middle , EndL i s t ) ;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 So r t i s an O(n l o g n ) compar i son−based a l g o r i t hm .3 ∗/4 vo i d MergeSort (MyVector& ev , i n t Beg i nL i s t , i n t EndL i s t )5 {6 i f ( B e g i n L i s t < EndL i s t − 1)7 {8 i n t Midd le = ( Beg i n L i s t + EndL i s t ) /2 ;9 MergeSort ( ev , Beg i nL i s t , Midd le ) ;10 MergeSort ( ev , Middle , EndL i s t ) ;11 Merges ( ev , Beg i nL i s t , Middle , EndL i s t ) ;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 tha t pe r f o rms the c o l l a t i o n o f l i s t s .3 ∗∗/4 vo id Merges (MyVector & ev , i n t Beg i nL i s t , i n t Middle , i n t EndL i s t )5 {6 i n t i , j , k ; MyVector w;7 w. r e s i z e ( EndL i s t − Beg i n L i s t ) ;89 i = Beg i n L i s t ; j = Middle ; k = 0 ;1011 wh i l e ( i < Middle && j < EndL i s t )12 {13 i f ( ev [ i ] <= ev [ j ] ) w[ k++] = ev [ i ++];14 e l s e w[ k++] = ev [ j ++];15 }1617 wh i l e ( i < Middle ) { w[ k++] = ev [ i ++]; }18 wh i l e ( j < EndL i s t ) { w[ k++] = ev [ j ++]; }1920 f o r ( i = Beg i n L i s t ; i < EndL i s t ; ++i ) ev [ i ] = w[ i−Beg i n L i s t ] ;2122 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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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
I Algoritmo criado por Charles Hoare.I Complexidade Operacional: O(n · log n) e O(n2).I Complexidade Espacial: O(log n) e O(n).I Algoritmo do tipo “Dividir para Conquistar”.I 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 emparticionamento porém sem a fase de combinação como o merge sort.
Desvantagem: No pior caso se comporta como um algoritmoquadrá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 pivoteamentoperiférico ocorre quando a entrada já se encontra
ordenada.
Torna-se tão “eficiente” quanto um algoritmoquadrático convencional.
Nesse caso a profundidade da árvore é de N − 1 e nãolog 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 pivoteamentoperiférico ocorre quando a entrada já se encontra
ordenada.
Torna-se tão “eficiente” quanto um algoritmoquadrático convencional.
Nesse caso a profundidade da árvore é de N − 1 e nãolog 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 pivoteamentoperiférico ocorre quando a entrada já se encontra
ordenada.
Torna-se tão “eficiente” quanto um algoritmoquadrático convencional.
Nesse caso a profundidade da árvore é de N − 1 e nãolog 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 pivoteamentoperiférico ocorre quando a entrada já se encontra
ordenada.
Torna-se tão “eficiente” quanto um algoritmoquadrático convencional.
Nesse caso a profundidade da árvore é de N − 1 e nãolog 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 pivoteamentoperiférico ocorre quando a entrada já se encontra
ordenada.
Torna-se tão “eficiente” quanto um algoritmoquadrático convencional.
Nesse caso a profundidade da árvore é de N − 1 e nãolog 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 pivoteamentoperiférico ocorre quando a entrada já se encontra
ordenada.
Torna-se tão “eficiente” quanto um algoritmoquadrático convencional.
Nesse caso a profundidade da árvore é de N − 1 e nãolog 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 vo id QuickSor t (MyVector& ev , i n t Beg i nL i s t , i n t EndL i s t )2 {3 i n t i , j ; E lementVector c , t ;45 i f ( B e g i n L i s t < EndL i s t )6 {7 c = ev [ ( B e g i n L i s t + EndL i s t ) / 2 ] ;8 i = Beg i n L i s t ; j = EndL i s t ;910 wh i l e ( i <= j )11 {12 wh i l e ( ev [ i ] < c ) { ++i ; }13 wh i l e ( c < ev [ j ] ) { −−j ; }1415 i f ( i <= j )16 {17 t = ev [ i ] , ev [ i ] = ev [ j ] , ev [ j ] = t ;18 ++i , −−j ;19 }20 }2122 Qu ickSor t ( ev , Beg i nL i s t , j ) ;23 Qu ickSor t ( ev , i , EndL i s t ) ;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 vo id QSort (MyVector& ev , i n t l e f t , i n t r i g h t )2 {3 i n t new_r ight ;4 i f ( r i g h t > l e f t )5 {6 new_r ight = 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_r ight − 1 ) ;8 QSort ( ev , new_r ight + 1 , r i g h t ) ;9 }10 r e t u r n ;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 ;45 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 }910 ev . swap ( l e f t , i ) ;11 r e t u r n 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 daimplementação de uma ferramenta que verifica o número deinstruções executadas em aglomerados numéricos aleatórios,
crescentes e decrescentes.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I 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 confrontandosuas respectivas complexidades teóricas e suas aplicações práticas:
I Bubble SortI Gnome SortI Shaker SortI Comb SortI Insertion Sort
I Selection SortI Shell SortI Heap SortI Quick SortI Merge Sort
Para cada execução de um determinado algoritmo são exibidas asseguintes informações:
I Número de Iterações;I Número de Comparações;I Número de Inversões;I 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çãoAlgoritmo TempoBubble 166.785sGnome 158.188sShaker 143.156sComb 142.328sInsertion 81.765sSelection 68.204sShell 1.281sHeap 1.235sQuick 1.234sMerge 1.375s Bubble Gnome Shaker Comb Insertion Selection Shell Heap Quick Merge
050
100
150
Algoritmos
BubbleGnomeShakerCombInsertionSelectionShellHeapQuickMerge
Tempos obtidos através da aplicação dos respectivos algoritmos em aglomerados numéricos aleatórios comcardinalidade 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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 complexidadede implementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são asmelhores opções, porém devemos estar atentos aos casos
degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I 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!I Michel Alves - [email protected]
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Algoritmos de Ordenação