Documentaciónbuscar_binario(v, valor)

buscar_binario(v,valor)\texttt{buscar\_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 -1 si no existe.

Funciones API relacionadas

  • vectores.buscar_secuencial()

Parámetros

ParámetroTipoDescripción
vVECTORVector a ser explorado.
valorNUMERICOValor 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