Documentaciónbuscar_binario(v, valor)
Nombre
buscar_binario - Busca un valor en un vector ordenado usando busqueda binaria.
Sinopsis
n = vectores.buscar_binario(v, valor)
Descripcion
Aplica una busqueda binaria sobre un VECTOR numerico ya ordenado.
Es mas eficiente que la busqueda secuencial cuando el vector cumple la precondicion de estar ordenado.
Comportamiento
- Asume que el vector esta ordenado en forma creciente.
- Reduce iterativamente el rango de busqueda comparando con el punto medio.
- Retorna el indice del valor encontrado o
-1si no existe.
Funciones API relacionadas
vectores.buscar_secuencial()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| v | VECTOR | Vector a ser explorado. |
| valor | NUMERICO | Valor buscado. |
Valor de retorno
NUMERICO - Posicion o indice donde se encuentra el valor buscado.
Ejemplo
ejemplo.blox
INCLUIR "vectores.api"
FUNCION PRINCIPAL
INICIO
VECTOR origen[]
NUMERICO i, dimension, posicion, valor, inicio
dimension = 10
inicio = 1000
valor = 1080
DEPURAR(origen)
origen = vectores.carga_creciente(dimension, inicio)
DEPURAR(origen)
posicion = vectores.buscar_binario(origen, valor)
SI (posicion >= 0) ENTONCES
IMPRIMIR("\n" + valor, " se encontro en POSICION ", posicion)
SINO
IMPRIMIR("\n" + valor, " no se encontro!")
FIN_SI
FINAL