|
Mostrar Mensajes
|
Páginas: [1]
|
1
|
Programación / Programación C/C++ / Re: Busqueda binaria de un array desordenado
|
en: 13 Noviembre 2011, 12:25 pm
|
Os dejo el enunciado, el algoritmo ya lo explique antes: Consiste en buscar la posición de un elemento dado entre dos posiciones de un vector no ordenado. En caso de que exista, devolver la posición del elemento o -1 si no existe. Para resolver el problema mediante recursividad, consiste en dividir la estructura en dos partes del mismo tamaño.
|
|
|
5
|
Programación / Programación C/C++ / Re: Busqueda binaria de un array desordenado
|
en: 11 Noviembre 2011, 18:37 pm
|
Bueno, voy avanzando, ya tengo el código:
int buscaElemento(int n, const Vector v, int inf, int sup){ double res1; double res2; double res = -1.0;
if(sup-inf == 0){ if(v[inf] == n){ res = inf; } } else { res1 = buscaElemento(n, v, inf, sup-inf/2); res2 = buscaElemento(n, v, (sup-inf/2)+1, sup); }
if(res1 != -1.0){ res = res1; } else if(res2 != -1.0){ res = res2; }
return res; }
El problema ahora es que no funciona, se pilla el programa, supongo que será por las conversiones entre int y double no?
|
|
|
6
|
Programación / Programación C/C++ / Re: Busqueda binaria de un array desordenado
|
en: 11 Noviembre 2011, 12:47 pm
|
Siempre en dos mitades iguales. Ejemplo: [5,7,8,3,4,9,1,3] se divide [5,7,8,3] y [4,9,1,3]. A su vez [5,7,8,3] se divide en [5,7] y [8,3]. [5,7] se divide en [5] y [7], con arrays de un elemento que es el caso base.
El problema es como implementar todo ese algoritmo en C.
|
|
|
|
|
|
|