Algoritmos e estrutura de dadosAlgoritmos de busca
- (CESGRANRIO 2022)
Seja uma função que realiza uma busca binária sobre um array de números inteiros ordenados. Não se sabe, em princípio, se os números estão ordenados ascendente ou descendentemente. O cabeçalho dessa função é o seguinte:
int busca (int [ ] vet, int elem)
Isto é, a função busca recebe um array de números inteiros (vet) e um número inteiro (elem) como parâmetros, e retorna um número inteiro. Caso exista em vet um inteiro igual a elem, a função retornará o índice desse inteiro no array; caso contrário, a função retornará -1.
O algoritmo de busca binária produz um índice (ind) a cada iteração sobre o array, tendo em vista comparar o elemento que se deseja procurar (elem) com o elemento vet [ ind ]. Isto é:
if ( vet [ ind ] == elem ) return ind;
No comando acima, diz-se que houve uma visita ao elemento vet [ ind ].
Admita que a função busca foi chamada por meio do comando a seguir:
int resp = busca (vet, 50);
Sabendo-se que os elementos visitados foram 54, 17, 33 e 50, nesta ordem, qual array foi passado como parâmetro para a função busca?
A) [ 95, 90, 87, 54, 52, 50, 33, 17, 11, 10 ]
B) [ 5, 10, 11, 17, 33, 50, 54, 87, 90, 95 ]
C) 121, 111, 93, 87, 60, 54, 50, 33, 17 ,5 ]
D) [ 5, 17, 33, 50, 54, 60, 87, 93, 111, 121 ]
E) [ 130, 121, 111, 90, 70, 60, 54, 50, 33, 17 ]
Vamos para o Anterior: Exercício 59
Tente Este: Exercício 31
Primeiro: Exercício 1
VOLTAR ao índice: Algoritmos e estrutura de dados