Búsqueda
Listas
Búsqueda binaria
Entrada:
* lista: arreglo de elementos
* valor: el valor que estamos buscando
Salida: la posición en la que se encuentra el valor (o -1 si no lo encuentra)
Prerequisitos: la lista se encuentra ordenadaBinarySearch(lista, elem)
Retorne BinarySearchRecursive(lista, elem, 0, lista.length)
BinarySearchRecursive(lista, elem, inicio, fin)
Si inicio es mayor a fin
Retorne -1
mitad = mitad entre inicio y fin
Si el valor en la posición mitad es igual a elem
Retorne mitad
Si el valor en la posición mitad es menor a elem
Retorne BinarySearchRecursive(lista, elem, mitad + 1, fin)
Si el valor en la posición mitad es mayor a elem
Retorne BinarySearchRecursive(lista, elem, inicio, mitad - 1) Last updated