Desenvolvido por: Felipe Weizenmann
Conceito 
 Shell Sort é um algoritmo de ordenação eficiente. 
Um algoritmo simples de entender; 
 Relativamente rápido ...
Histórico 
 Criado em 1959; 
 Desenvolvido por Donald Shell; 
 Publicado pela Universidade de Cincinnati;
Funcionamento 
Ele divide um grande vetor de dados em vetores 
menores, ordenando-os e fazendo isso novamente para ter 
um...
Princípios Básicos 
O Shell Sort se baseia em uma variável chamada 
de incremento de sequência, que é dado por h e ao 
de...
Vantagens 
 Shellsort é uma ótima opção para arquivos de 
tamanho moderado; 
 Sua implementação é simples e requer uma 
...
Desvantagens 
O tempo de execução do algoritmo é sensível à 
ordem inicial do arquivo; 
O método é instável.
Análise 
A complexidade do algoritmo ainda não é 
conhecida; 
 Ninguém ainda foi capaz de encontrar uma 
fórmula fechada...
Código-fonte 
 // ShellSort - com incrementos de Shell 
 template <class Comparable> 
 void ShellSort(vector<Comparable...
Próximos SlideShares
Carregando em…5
×

Shell sort

685 visualizações

Publicada em

Se encontrar algum contexto que discorde, entre em contato!
Obrigado!
Felipe Weizenmann

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
685
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • ninguem
  • Felipe 2.6
  • Augusto 3.5
  • Bruno sorry 4.9
  • augusto
  • felipe
  • Bruno g 7.8
  • Bruno g
  • Bruno sorry
  • Shell sort

    1. 1. Desenvolvido por: Felipe Weizenmann
    2. 2. Conceito  Shell Sort é um algoritmo de ordenação eficiente. Um algoritmo simples de entender;  Relativamente rápido de processar;  Fácil de implementar.
    3. 3. Histórico  Criado em 1959;  Desenvolvido por Donald Shell;  Publicado pela Universidade de Cincinnati;
    4. 4. Funcionamento Ele divide um grande vetor de dados em vetores menores, ordenando-os e fazendo isso novamente para ter um único vetor ordenado e então trabalhar em cima dele, que seria mais prático e rápido; O algoritmo de Shell Sort em si mesmo não ordena nada, mas aumenta a eficiência de outros algoritmos de ordenação (como o da inserção e seleção).
    5. 5. Princípios Básicos O Shell Sort se baseia em uma variável chamada de incremento de sequência, que é dado por h e ao decorrer da execução do algoritmo, é decrementada até 1.  Utilizando o incremento de sequência, o algoritmo compara elementos distantes em um vetor, em vez de comparar com o próximo.
    6. 6. Vantagens  Shellsort é uma ótima opção para arquivos de tamanho moderado;  Sua implementação é simples e requer uma quantidade de código pequena.
    7. 7. Desvantagens O tempo de execução do algoritmo é sensível à ordem inicial do arquivo; O método é instável.
    8. 8. Análise A complexidade do algoritmo ainda não é conhecida;  Ninguém ainda foi capaz de encontrar uma fórmula fechada para sua função de complexidade; A sua análise contém alguns problemas matemáticos muito difíceis Exemplo: escolher a sequência de incrementos. O que se sabe é que cada incremento não deve ser múltiplo do anterior.
    9. 9. Código-fonte  // ShellSort - com incrementos de Shell  template <class Comparable>  void ShellSort(vector<Comparable> &vec)  {  int j;  for (int gap = vec.size()/2; gap > 0; gap /= 2)  for (int i = gap; i < vec.size(); i++)  {  Comparable tmp = vec[i];  for (j = i; j>gap && tmp<vec[j-gap]; j -= gap)  vec[j] = vec[j-gap];  vec[j] = tmp;  }  }

    ×