Atps classificação e pesquisa
PROF: Marcos Kenji Nagata
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