-
Notifications
You must be signed in to change notification settings - Fork 3
Búsqueda Binaria Recursiva
Dado un arreglo de números reales ordenado y un número real, escriba una función que retorne -1 si el número buscado no se encuentra en el arreglo o, en caso contrario, la posición del arreglo en la que se encuentra.
Entrada: tam=5, arr[]={1,2,3,4,5}, n=2 Salida: El elemento buscado se encuentra en la posicion 1. Entrada: tam=5, arr[]={1,2,3,4,5}, n=0 Salida: El elemento buscado no se encuentra en el arreglo.
-
Se evalúa si la posición más a la izquierda (izq) es mayor a la de más a la derecha (der), si:
-Es verdadero, la función retorna -1, en otras palabras, el número buscado no se encuentra en el arreglo.
-Es falso: se realizan los siguientes pasos.
-
Se evalúa si el elemento medio del arreglo (arr[med]) es igual al número buscado (n).
-
Se evalúa si el elemento buscado es mayor al elemento del medio del arreglo. Si:
-Es verdadero: se ejecuta nuevamente la función pasando como parámetro de elemento más a la izquierda a med+1.
-Es falso: se ejecuta nuevamente la función pasando como parámetro de elemento más a la derecha a med-1.
Disponible en ejemplo Búsqueda Binaria Recursiva.
Disponible en Búsqueda Binaria Recursiva.
Disponible en Binary vs Linear Search.
La complejidad es del orden O(log n).
Algos - Proyecto Iniciado por la cátedra "Algoritmos y Estructuras de Datos" en Agosto de 2019 - UTN Santa Fe - Argentina.
Objetivo: Elaborar una enciclopedia de algoritmos codificados en C++, que resuelvan problemas habitualmente tratados en las asignaturas de Fundamentos de Programación, como herramienta complementaria al proceso de aprendizaje de los alumnos de la asignatura, y de los entusiastas de programación y de las competencias de programación como TecnoMate.