sorting algorithms
DESCRIPTION
A sorting algorithm is an algorithm that puts elements of a list in a certain order. The most-used orders are numerical order and lexicographical order. Efficient sorting is important for optimizing the use of other algorithms (such as search and merge algorithms) which require input data to be in sorted lists; it is also often useful for canonicalizing data and for producing human-readable output.TRANSCRIPT
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