Академический Документы
Профессиональный Документы
Культура Документы
Mtodo Linear
Compara a chave com cada item do vetor, at encontrar um item de dado cujo valor igual o valor da
chave. Se encontrar retorna a posio do item, se no encontrar retorna -1.
Joaquim Leonardo
Faculdade Politcnica
SIN3A - Desenvolvimento de Algoritmos
printf("Binaria: achou na posicao: %d \n", ret2);
getch(); //espera que o usurio clique no teclado
}
int buscaLinear(int vet[], int tam, int chave){
for(int i = 0; i < tam; i++){
if( chave == vet[i] ){
return i;
}
}
return -1;
}
int buscaBinaria( int vet[], int tam, int chave ) {
int esq, meio, dir;
esq = 0; dir = tam-1;
while (esq <= dir) {
meio = (esq + dir)/2;
if (vet[meio] == chave){
return meio;
}
if (vet[meio] < chave) {
esq = meio + 1;
}
else {
dir = meio - 1;
}
}
return -1;
}
Exerccios
1. Carregue um vetor com 10.000 inteiros aleatrios (entre 0 e 20.000) e verifique se o nmero
7.777 est contido nesse vetor. Utilize os algoritmos de Busca Linear e Binria para esse exerccio;
2. Calcule o tempo de execuo de cada algoritmos e informe qual o mais performtico;
//Para Calcular o tempo de execuo use o algoritmo abaixo
#include <stdio.h>
#include <time.h>
int main(){
clock_t tInicio, tFim, tDecorrido;
tInicio = clock();
/*seu codigo vem aqui*/
tFim = clock();
tDecorrido = ((tFim - tInicio) / (CLOCKS_PER_SEC / 1000));
printf("Tempo Decorrido: %d", tDecorrido);
}