Imagem de fundo

O pseudocódigo apresentado a seguir representa a pesquisa...

O pseudocódigo apresentado a seguir representa a pesquisa de um elemento em um vetor ordenado, de forma recursiva, segundo o processo conhecido como pesquisa binária.


global var

valores: vetor [1..10] de inteiro

função bin (

pos_ini, pos_fim, x: inteiro

)

var

p, v: inteiro

início

se pos_ini > pos_fim então

retorne -1

senão

p <- (pos_ini + pos_fim) / 2

v <- valores[p]

se v = x então

retorne p

senão

se v < x então

retorne bin (p+1, pos_fim, x)

senão

retorne bin (pos_ini, p-1, x)

fim se

fim se

fim se

fim função


Considere o conjunto {4, 5, 8, 9, 14, 16, 17, 20, 23, 25} no vetor global valores, índice inicial 1 e final 10, e divisão entre inteiros truncando a parte decimal.


Com a chamada bin (1, 10, 20), o retorno da posição do número 20 ocorre após a função bin ser executada, incluindo a chamada inicial:


A

2 vezes;


B

4 vezes;


C

6 vezes;


D

8 vezes;


E

10 vezes.