Algoritmos e estrutura de dadosConceitos básicos e algoritmos
- (FGV 2014)
Analise o pseudocódigo de uma função que realiza uma busca binária, onde k é a chave procurada, V é um arrayunidimensional contendo N chaves ordenadas em ordem crescente, indexadas a partir de 1, e “” é um operador de divisão inteira (e.g. 52 retorna 2). A função retorna a posição da chave k em V, ou -1 se não for encontrada. O símbolo *** denota uma expressão lógica propositalmente omitida.
define buscabinaria(k) p=1 u=N repeat x=(p+u)2 if k < V[x] then u = x-1 else p = x+1 until *** if k = V[x] then return(x) else return(-1)
Assinale a opção que apresenta o trecho que deve substituir o símbolo *** para que o algoritmo acima funcione de acordo com a especificação.
A) k = V[x] and p>u
B) k ≥ V[x] or p ≥ u
C) k = V[x] or p < u
D) k = V[x] or p>u
E) k > V[x]
Próximo:
EXERCÍCIOS - Exercício 53
Vamos para o Anterior: Exercício 51
Tente Este: Exercício 151
Primeiro: Exercício 1
VOLTAR ao índice: Algoritmos e estrutura de dados