elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica  (Leído 3,953 veces)
gibranini

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica
« en: 8 Julio 2014, 07:23 am »

Hola amigos, me pudieran ayudar con esta busqueda binaria recursiva, estoy haciendo una lista dinamica;

Código:
int busqueda binaria(int A[],int X, int i, int j) 
{
     int medio;
     if (i>j)
     {
         return 0;
     }
     medio = (i+j) / 2;
 
     if (A[medio] < X)
     {   
         return busqueda binaria(A,X,medio+1,j);
     }     
     
     else if (A[medio] > X)
     {
         return busqueda binaria(A,X,i,medio-1);
     }

     else
     {
         return medio;
      }
}

y esto es lo que llevo pero me marca errores y no tengo idea en que estoy mal,

Código:
int Lista::BusquedaBinariaRecursiva(Nodo *aux[], string buscar, int i, int j)
{
    int medio;

    i=0;
    j=contador;//Es un contador variable, lleva el registro del numero de datos ingresados

    if(i>j)
    {
        return 0;
    }

    medio=(i+j)/2;

    if(aux[medio] <buscar)
    {
        return BusquedaBinariaRecursiva(aux, buscar, medio+1, j);
    }
    else if(aux[medio] >buscar)
    {
        return BusquedaBinariaRecursiva(aux, buscar, i, medio-1);
    }
    else
    {
        return medio;
    }

}

 :(


En línea

Gh057


Desconectado Desconectado

Mensajes: 1.190



Ver Perfil
Re: Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica
« Respuesta #1 en: 8 Julio 2014, 12:25 pm »

hola gibranini , por favor fíjate en los errores de compilación; solo a simple vista se observa que no llamas a la misma función que tienes definida... saludos


En línea

4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica
« Respuesta #2 en: 8 Julio 2014, 12:30 pm »

hola gibranini , por favor fíjate en los errores de compilación; solo a simple vista se observa que no llamas a la misma función que tienes definida... saludos

A mi me da la sensación de que el segundo código intenta ser una versión del primero pero encapsulado en una clase...

gibranini... cuando has puesto:

Código
  1. j=contador;//Es un contador variable, lleva el registro del numero de datos ingresados

¿En qué estabas pensando?... si se supone que i y j son los límites de la búsqueda no viene a cuento modificar 'j' con un valor que te estás sacando de la manga.
En línea

Gh057


Desconectado Desconectado

Mensajes: 1.190



Ver Perfil
Re: Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica
« Respuesta #3 en: 8 Julio 2014, 14:32 pm »

tienes razón eferion, me expresé mal, quise decir que si la primera fuera una función recursiva no se llamaría a si misma ya que el espacio haría tirar error de función no definida...

con respecto a la segunda, exacto; sería implementarla en una clase.

gibranini, con respecto a la búsqueda binaria primero debes entender el concepto; la misma se produce partiendo el arreglo o vector previamente ordenado en dos partes y comparando el valor a encontrar con nuestro punto de pivote; si es menor repite en el extremo inferior, si es mayor en el superior.

si quieres hacerla recursiva, debes llamarla nuevamente (mientras tu condición de escape no se cumpla, o sea que no encuentres el valor entre los extremos) disminuyendo el tamaño del arreglo y realizando la nueva comparación en el extremo que podría contener nuestro valor requerido.

es muy útil en arreglos y vectores muy grandes.saludos


 
En línea

4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
gibranini

Desconectado Desconectado

Mensajes: 41


Ver Perfil
Re: Me pueden ayudar a hacer una Búsqueda Binaria Recursiva Dinamica
« Respuesta #4 en: 8 Julio 2014, 19:20 pm »

ok :D muchas gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
busqueda binaria
Programación C/C++
Sunshine66 3 4,655 Último mensaje 6 Mayo 2010, 07:42 am
por Akai
Busqueda binaria.
Java
NetJava 6 9,282 Último mensaje 28 Marzo 2011, 18:20 pm
por NetJava
Busqueda recursiva
Programación C/C++
s3tH 7 8,863 Último mensaje 6 Mayo 2012, 02:46 am
por david_BS
[C] Búsqueda binaria recursiva
Programación C/C++
BatchianoISpyxolo 3 19,427 Último mensaje 29 Octubre 2012, 23:08 pm
por flony
[ayuda] BD ¿cómo hacer una busqueda en BD
PHP
american 2 2,977 Último mensaje 30 Noviembre 2016, 17:12 pm
por zikotik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines