Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2012, 19:33
fla2727
 
Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Recursividad Divide y venceras

Buenas, tengo que encontrar la posicion de un elemento en un arreglo (array) desordenado, y me sugieren dividdiendo en dos partes del mismo tamaño el mismo.

Mi solucion propuesta es

int encuentraPosicion(int v[], int p, int i, int j){

int r=-1;
int subproblema1;
int subproblema2;

int m = (i+j)/2;

if( i == j && p == v[i-1]){
r=i;
}else if( p = v[m]){
r=m;
}else{

//Aqui es donde no se combinar las soluciones de los casos recursivos,

subproblema1=encuentraPosicion(v, p, i, m)
subproblema2 = encuentraPosicion(v, p, m, j)

//por intentar combinar
if(subproblema1 != -1)
r=subproblema1;
else if(subproblema2 != -1)
r=subproblema2;
}
return r;

}

Algun experto que pueda y quiera ayudarme??
Gracias.