Procura

Algoritmos e estrutura de dadosAlgoritmos de busca


EXERCÍCIOS - Exercício 60

  • (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






Cadastre-se e ganhe o primeiro capítulo do livro.
+
((ts_substr_ig=0.00ms))((ts_substr_id=2.31ms))((ts_substr_m2=0.00ms))((ts_substr_p2=0.56ms))((ts_substr_c=0.71ms))((ts_substr_im=0.91ms))
((total= 4ms))