Busqueda Binaria Recursiva
Busqueda Binaria Recursiva
Busqueda Binaria Recursiva
MATERIA:
ESTRUCTURA DE DATOS
TITULO:
BUSQUEDA BINARIA RECURSIVA
→ Vectores
→ Saber qué es y cómo se lleva a cabo la búsqueda binaria Código:
1. int busqueda_binaria(vector <int> list, int val){
2. int der = list.size() - 1, izq = 0, m;
3. while(izq <= der){
4. m = (izq + der) / 2;
5. if(m == list[val]) return m; //la posicion del valor
6. if(m > list[val]) der = m – 1;
7. else izq = m + 1;
8. }
9. return -1; // no se encontro el dato :P
10. }
Pues teniendo eso en cuenta vamos reduciendo el tamaño del problema (N)
a la mitad en cada llamada recursiva. ¿Por qué? Porque si x no es el
elemento medio del vector v de tamaño N, entonces verificamos si es
menor o mayor que él. Si es menor, buscamos en el subvector de tamaño
N/2 izquierdo, sino en el derecho.
FUENTE:
https://foro.elhacker.net/programacion_cc/c_busqueda_binaria_recursiva-
t374647.0.html