16/11/2012, 19:33
|
| | Fecha de Ingreso: noviembre-2011
Mensajes: 1
Antigüedad: 13 años, 1 mes 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. |