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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda entender Divide y Venceras en: 15 Noviembre 2012, 16:02 pm
Buenas, nos han explicado en programacion (en C) la tecnica divide y venceras, pero no me ha quedado claro como se haria este ejemplo, a la hora de combinar soluciones. A ver si alguien podría explicarmelo.

Ejemplo: Un algoritmo que busque la posición de un elemento, p, entre dos posiciones i,j de un vector, v, no ordenado. En caso de que exista devolverá la posición del elemento, en caso contrario devolverá -1. Para resolver el problema mediante recursividad, considere en dividir el problema en dos partes del mismo tamaño.

Mi solucion propuesta:

int encuentraPosicion2(int v[], int p, int i, int j){
   int r = -1;
   int m = (i+j)/2;
   if(i==j && p==v){
      r=i;
   }else if(p==v[m]){
      r=m;
   }else{
      r=encuentraPosicion2(v, p, i, m);
      r=encuentraPosicion2(v, p, m, j);
   }
   return r;
}

Pero se ve que no, que no entendí bien la idea....Alguien que sepa ayudarme
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines