- Fundamentos de ProgramaçãoAlgoritmosAlgoritmos de Busca
- Fundamentos de ProgramaçãoPseudocódigo
- Fundamentos de ProgramaçãoRecursividade
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: