Unip - Banco de Dados - Aps
Por: SonSolimar • 22/2/2018 • 1.442 Palavras (6 Páginas) • 439 Visualizações
...
3 é maior que 1:
1 - 3 - 4 - 2 - 5
4 é maior que 2:
1 - 3 - 2 - 4 - 5
4 já está em sua posição certa, então deverá aplicar o algoritmo novamente porém somente até a terceira posição, assim chegado ao resultado desejado:1 - 2 - 3 - 4 - 5
Uma desvantagem é a lentidão, pois o método percorre todo o vetor diversas vezes, por isso, não é recomendado o uso dele para aplicações que requerem velocidade ou trabalhem com uma grande quantidade de dados.
Método Selection: este método funciona da seguinte maneira: seleciona o menor item do vetor faz uma troca com a primeira posição do vetor. Isto acontece respectivamente para n-1 elementos restantes, em seguida com n-2 até que reste apenas um elemento. As diferenças desses métodos entre os outros é que ele realiza apenas uma troca por interação. Na figura abaixo podemos ver como funciona:
[pic 1]
Um método simples embora estável, com tempo de execução linear, é uma boa escolha para arquivos com registros grandes, tem fácil implementação, com um pequeno número de movimentações, ótimo para arquivos pequenos.
Insert sort: Este método se mostra muito eficiente e simples de se trabalhar quando tratamos de um vetor com poucos elementos, basicamente o que este algoritmo faz é ir pegando os elementos do vetor e ir posicionando cada um em sua posição devida de uma forma crescente.
Um algoritmo que age de forma rápida e precisa, claro que quando falamos de um vetor maior ou quanto mais formos inserindo dados em um vetor para este tipo de algoritmo ele age de maneira mais lenta, pois o mesmo compara todos os elementos do vetor para pode-los colocar na posição ordenada.
Abaixo podemos ver um exemplo básico de como o método insert sort funciona:
[pic 2]
Algumas das vantagens deste método é que o mesmo tem uma implementação muito simplificada de ser efetuada, o algoritmo é bastante estável e se por alguma circunstância o vetor a ser analisado já esteja ordenado o mesmo será favorecido no tempo de processamento e custo de memória.
Claro que ele segue com algumas desvantagens, como por exemplo se colocarmos um vetor totalmente desordenado com um grande volume de dados, o mesmo por ir comparando os elementos e ir inserindo um a um no vetor ordenado no final, iria consumir um tempo de consumo muito alto.
Desenvolvimento
Todo o programa foi feito e estruturado de forma clara e objetiva, está construído na linguagem c# (C Sharp), contém para fácil interpretação e fácil entendimento.
Todo o código encontra-se em anexo junto a este trabalho.
Foram realizados testes com os métodos para deixar de forma em qual entendêssemos o tempo e o processamento de dados dos mesmos.
Abaixo podemos ver uma tabela com os valores para teste:
Tempo Gasto com 50 dados
Números de linhas para ordenação 50 dados
Aleatório
Crescente
Decrescente
Aleatório
Crescente
Decrescente
Bubble
00:03.41
00:00.00
00:06.74
Bubble
537
0
1225
Insertion
00:00.27
00:00.26
00:00.27
Insertion
50
50
50
Selection
00:00.48
00:00.00
00:00.22
Selection
47
0
25
Tempo Gasto com 100 dados
Números de linhas para ordenação 100 dados
Aleatório
Crescente
Decrescente
Aleatório
Crescente
Decrescente
Bubble
00:25.10
00:00.00
00:47.66
Bubble
2549
0
4950
Insertion
00:00.52
00:00.95
00:00.95
Insertion
100
100
100
Selection
00:01.75
00:00.00
00:01.01
Selection
95
0
50
Tempo Gasto com 150 dados
Números de linhas para ordenação 150 dados
Aleatório
...