Relatório de Execução de Métodos de Ordenação em C
Não se pode falar em ordenação, sem pensar na estrutura e no arquivamento de n registros, onde n é um número de ordem grandiosa. Como procurar um registro especifico em n registros? Se a estrutura estiver organizada em algum modo de ordenação, seja ela numérica, alfabética ou qualquer outro tipo, a procura fica consideravelmente simples, perante uma estrutura de dados não organizada.
Este trabalho compara algoritmos desenvolvidos para ordenar registros, dado estruturas (vetores), de seis tamanhos diferentes, ordenando-os por seus valores e não por seus índices. Ao conclui-lo será possível definir em quais situações um algoritmo se sobressai a outro, e quais as vantagens e desvantagens de se utilizar qualquer um deles.
Deve-se destacar que serão comparados algoritmos de ordenação interna, sendo eles: bolha, seleção, inserção e shellsort. No decorrer da próxima sessão será exemplificado o tamanho dos vetores que serão comparados. Ao todo serão realizados vinte e quatro testes, com saídas calculadas em milissegundos (ms).
IMPLEMENTAÇÃO
Na implementação dos algoritmos foi considerado que, o valor equivalente à criação do primeiro vetor (1gb) é - 1.073.741.824, e que os próximos cinco vetores seriam vinte vezes menores do que seus antecessores. Sendo assim, os tamanhos dos vetores na sequencia decrescente será: (2º) 53.687.091; (3º) 2.684.354; (4º) 134.217; (5º) 6.710; (6º) 335. Esses valores serão considerados no decorrer deste relatório e exemplificados no gráfico da sessão seguinte.
A criação e a leitura do vetor é feita uma única vez no método main() do programa “lab-02.c”, nesta leitura são armazenados em um vetor os dados criados no arquivo texto, estes que serão ordenados. O vetor e seu respectivo tamanho são passados como parâmetro para a classe que contabiliza o tempo.
A classe “contaTempo()” é quem realiza a chamada às classes que implementam cada algoritmo de ordenação, passando como parâmetro o vetor e o tamanho recebidos da chamada no método