Atps Classificacao E Pesquisa
Ensaios: Atps Classificacao E Pesquisa. Pesquise 862.000+ trabalhos acadêmicosPor: lucasscala • 3/10/2012 • 569 Palavras (3 Páginas) • 1.929 Visualizações
ATPS Classificação e Pesquisa
Busca Linear e Binária, Método de Ordenação Por Seleção
ATPS Classificação e Pesquisa
Etapa 1
Começamos declarando as bibliotecas e definimos o tempo(“define tempo 2000”), o 1º (“define busca_N1 87”)e o 2º(“define busca_N1 100001”) número que serão procurados.Em seguida prototipamos as funções que serão utilizadas
“void bateria_testes(int tam, int t);”: é o funçao cérebro do algoritmo pois está ligada a todas as outras funções e fará os testes computacionais . Primeiro atribui o valor dado de seed=semente.Em seguida impõe uma condição “if (t==1){} else if (t==2){}”
Onde t=1 : Cria 2 vetores tipo int,um deles para receber numeros Inteiros gerados pela função “inteiros_unif(&semente,0,10000)” e outro para guardar os valores ordenados na funçao “selecao()”, faz a ordenação e as buscas linear e binária.
Onde t=2 : Cria 2 vetores tipo double,um deles para receber numeros Reais gerados pela função “unif(&semente,0,10000)” e outro para guardar os valores ordenados na funçao “selecao()”,faz a ordenação e as buscas linear e binária.Os parametros 0 e 10000 das Funções inteiros_unif() e unif() são os valores de low e high dados pela tabela 1.
void linear(int n, int t, int *p_int, double *p); funçao para busca linear de numeros inteiros ou reais pela condição if (t==1){} else if (t==2){}e contém a função clock_t para se saber o tempo gasto em cada busca. para saber o número de testes efetuados é declarado o contador “num_test”.
void binaria(int n, int t, int *p_int, double *p);função para busca binária de numeros inteiros ou reais pela condição if (t==1){} else if (t==2){}e contém a função clock_t para se saber o tempo gasto em cada busca. para saber o número de testes efetuados é declarado o contador “num_test”.
void selecao(int n, int t, int *p_int, double *p);função de método de ordenação por seleção para numeros Reais e Inteiros pela condição “if (t==1){} else if (t==2){}” e também contém a função clock_t para se saber o tempo gasto na Ordenação Já para saber o número de testes efetuados é declarado o contador “num_test”.
Na função Main() além de imprimir um cabeçalho para o usuário com 4 opções de escolha de N(numeros a serem gerados )e opção de escolha de tipo(Real ou Inteiro) é feito um switch() case em que de acordo com o caso escolhido ele chama a função bateria_testes() com os parâmatros desejados.
Execução do Programa
Selecionar os parâmetros N e tipo ,nesse caso opção 3 (N=10000) e tipo 2 (números Reais)
Os números são gerados aleatóriamente e em seguida ordenados pelo método de seleção mostrando quantos testes foram realizados = 270950 e o tempo gasto 0,015 segundos
Depois de ordenados são feitas as buscas Linear e Binária com seus respectivos resultados.
Linear= 1000 testes 0,000000s.
Binária =9 testes e 0,000000s
...