• Save
Sorting Algorithms
Upcoming SlideShare
Loading in...5
×
 

Sorting Algorithms

on

  • 366 views

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 ...

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.

Statistics

Views

Total Views
366
Views on SlideShare
366
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sorting Algorithms Sorting Algorithms Presentation Transcript

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