Thanks to visit codestin.com
Credit goes to pt.scribd.com

100% acharam este documento útil (1 voto)
113 visualizações3 páginas

Shell Sort para Computação Acadêmica

O documento descreve o algoritmo de ordenação Shell Sort, explicando que ele é uma melhoria do Selection Sort ao dividir continuamente os grupos de dados. Detalha as características do algoritmo, incluindo como ele usa um valor de distanciamento para comparar elementos em diferentes posições, e discute suas vantagens e desvantagens, como ter um bom desempenho em arquivos de tamanho moderado.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
100% acharam este documento útil (1 voto)
113 visualizações3 páginas

Shell Sort para Computação Acadêmica

O documento descreve o algoritmo de ordenação Shell Sort, explicando que ele é uma melhoria do Selection Sort ao dividir continuamente os grupos de dados. Detalha as características do algoritmo, incluindo como ele usa um valor de distanciamento para comparar elementos em diferentes posições, e discute suas vantagens e desvantagens, como ter um bom desempenho em arquivos de tamanho moderado.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 3

Algoritmo de Ordenação: Shell Sort

1
Ciencia da Computação – Universidade Regional do Noroeste do Estado do Rio
Grande do Sul (UNIJUÍ)
Ijuí – RS – Brasil
Resumo: O algoritmo de ordenação por Shell Sort, que baseia-se em divisão
em grupos de forma continua, considerado uma melhoria do algoritmo de
Selection Sort. Realizamos sua implementação e testes em linguagem Java, de
forma a avaliar sua execução. Pesquisando em artigos, sites e outras mídias
sobre algoritmos de ordenação do tipo Shell Sort.
Abstract: The sort algorithm by Shell Sort, which is based on grouping
continuously, is considered an improvement of the algorithm of Selection Sort.
We carry out its implementation and testing in Java, in order to assess their
implementation. Researching articles, websites and other media on sorting
algorithms such as Shell Sort.

1 Introdução
Este estudo objetiva-se em realizar um estudo dos dados gerado pela utilização de
algoritmos de ordenação do tipo Shell Sort, sendo utilizado seu código em linguagem
Java, no software NetBeans, para ser realizado os testes. Estudando seu
desenvolvimento e implementação. Realizamos a pesquisa bibliográfica em artigo, sites
e outras mídias, para entendermos o funcionamento de tal algoritmo e para realizar seu
desenvolvimento em linguagem Java.

2 Características

Foi proposto por Donald Shell em 1959, publicado pela Universidade de


Ciccincati, para ser um refinamento do método de ordenação por inserção. Sendo
baseado no Insertion Sort, o Shell Sort é um algoritmo que baseia na ordenação por
divisão e inserção, fazendo uso de um valor de distanciamento, denominado gap,
rearranja os elementos de uma estrutura por meio de inserção direta. Onde divide-se 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 Shell Sort explora o fato que o Insertion Sort apresenta desempenho aceitável quando
o número de chaves é pequeno e/ou estas já possuem uma ordenação aceitável. Difere
do Insertion Sort pelo fato de que considera apenas um segmentos classificado e
inserindo ordenadamente todos os demais elementos. Vários segmentos são
considerados inicialmente, sendo cada elemento inserido seletivamente em um deles.
O referido valor de distanciamento, gap, nada mais é do que um valor que
definirá a distância com que os elementos serão comparados, ou seja, se no Insertion
Sort cada elemento é comparado com o elemento imediatamente subsequente, e, o de
menor valor inserido na posição à esquerda do outro, no Shell Sort, o gap, determinado
pelo programador, fará com que os elementos a serem comparados, não mais, sejam tão
próximos. Essa pequena diferença pode parecer pouca, mas, quando aplicada, faz com o
que o processo seja mais rápido, visto que, devido a distância de comparação, seria
como se estivéssemos rearranjando não uma, mas duas estruturas por vez.

2.1 Implementação em linguagens

Implementação do Shell Short em linguagem Java


3 Vantagens e Desvantagens

3.1 Vantagens:

 Shell sort é uma ótima opção para arquivos de tamanho moderado, pois
quanto maior for o número de valores a serem ordenado, maior será o tempo
de execução para comparação entre os valores distantes.
 Sua implementação é simples e requer uma quantidade de código pequena.
 Pode ser utilizado em sistema que não dispõe de muito recursos de memória.
 O seu tempo de execução é sensível à ordem inicial do programa, o que lhe
garante um bom uso em sequencias já ordenadas.

3.2 Desvantagens:
 O tempo de execução do algoritmo é sensível à ordem inicial do arquivo
 O método não é estável, pois ainda não foi possível encontrar uma
formula fechada para sua função de complexidade.

4 Conclusão
O Algoritmo de ordenação Shell Sort que utiliza a separação em grupos
sucessiva da sequência a ser ordenada e assim implementando a ordenação por inserção
na sequência obtida. Devido a sua complexidade possui excelentes desempenhos em N
muito grandes, inclusive sendo melhor que o Merge Sort. Também considerado uma
melhoria do Selection Sort, onde ao ser utilizado com as mesmas finalidades que o
Selection Sort, irá apresentar um melhor desempenho.

Referencias
ALGORITMOS DE ORDENAÇÃO #4 – SHELL SORT. Disponível
em:<http://www.rafaeltoledo.net/algoritmos-de-ordenacao-4-shell-sort/>. Acessado
em 13/04/2019
Algoritmos de Ordenação: Um Estudo Comparativo. Disponível
em:<https://periodicos.ufersa.edu.br/index.php/ecop/article/download/7082/6540>.
Acessado em 13/04/2019
Métodos de Ordenação. Disponível
em:<http://dainf.ct.utfpr.edu.br/~maurofonseca/lib/exe/fetch.php?
media=cursos:if63c:if63ced_08_ordenacao.pdf >. Acessado em 13/04/2019

Você também pode gostar