Beruflich Dokumente
Kultur Dokumente
Ejemplos de recursividad
1. Las Torres de Hani:
Es un claro ejemplo de recursividad que ms adelante en este captulo lo
vamos a explicar
La factorial 0 es igual 1.
No hay nmero negativo factorial.
Existen dos tipos o formas o recursividad que son: directa o simple, e indirecta
mutua o cruzada.
Factorial con recursividad directa: se llama recursividad directa cuando su
funcin se contiene a s misma. (Brust, 2010)
Recursividad
ventaja
Soluciona programa recurrentes
Son programa cortos
desventaja
Creacin de muchas variables
Ocupan mucha memoria
Interaccin
ventajas
No reduce cdigo
Consumo de memoria
desventajas
La solucin no es muy buena
Muy compleja la solucin
Desventaja
Ineficiencia
Habr momentos que se sobre
cargar el resultado
Un resultado podr generar varias
respuestas
(Wodtke, 2010)
Caracterstica
Es una tcnica general de resolucin del problema para obtener una solucin.
Realiza bsqueda y sistemtica en el espacio de soluciones y por eso que es
un mtodo ineficiente.
La solucin de un problema se puede expresar como una tupla donde se
satisfacen las restricciones.
El algoritmo se encuentra en un cierto nivel k pero con una solucin parcial.
En el ajedrez
El caballo es un elemento muy importante en el juego del ajedrez se distingue
de las otras piezas por su forma de moverse que es en forma de L, es decir
que sus movimientos se desplaza dos casillas en direccin oeste y norte con
una direccin perpendicular a la anterior que es a un ngulo de 90 grado.
Martin l & Ingo w proclamaron que el nmero que poda dar un caballo en un
tablero de ajedrez era de 33.439.123.483.294 obtuvieron ese resultado
trabajando por 4 meses.
Sabas que?
Que un ser humano podra contar hasta un milln en
1000000 segundo=16666,66minutos=277,77horas=11,57dias
Unos 12 da sin parar
Ya vimos lo que es el caballo en el juego del ajedrez y sabes que la pieza que
se puede diferenciar de las otras piezas ahora vamos ver cmo podemos
implementarlo en el momento de hacer un algoritmo tanto en java como en c+
+.
El salto de caballo es un viejo problema que existe ante de que los
ordenadores existieran, en la cual consiste es una posicin inicial en un tablero
de ajedrez y recorreros el tablero en forma de L sin repetirse ninguna casilla.
Hay un mtodo que nos dice que se debe visitar primero las casillas con lo
menos posible movimiento y es as que se ha hecho una funcin que analizara
los posibles movimientos de los alrededores y ordenar la lista de movimiento de
menor a mayor.
El juego consiste en que un tablero de 8*8 es decir 64 posiciones diferente, es
lo que se puede tener en un tablero de ajedrez.
En este ejemplo podemos ver que estn tres elementos principales. En primer
lugar, hay una generacin de descendiente, en donde para cada nodo
generamos, con una posible solucin. a esto se le denomina (expansin,
ramificacin o bifurcacin)
Este es un ejemplo de los mucho que hay del mtodo de vuelta atrs para
aprender ms ejemplo de este mtodo pueden ingresar a esta direccin
proceso
Los algoritmos recursivos son muy fciles donde hacemos un BUCLE para
diferenciar los elementos. y as por cada elemento, las permutaciones tenemos
que escribir los dems elementos anteponiendo el elemento anterior.
Es decir, si cogemos el 1 tenemos que hacer una permutacin de los dems
poniendo adelante el nmero 1. ahora cojamos el 2 y tenemos que hacer las
permutaciones que los demas elemento. pero incluyendo el 1 pero
anteponiendo es 2 y as sucesivamente con los demas elemento.
Return solucin(mejor);
)
5.9
Seleccin ptima.
combinan de n sobre p
terminacin inmediata
utilizando
orden y rpido:
(np)
Bibliografa
Berzales, F. (2015). elvex. Obtenido de
http://www.lcc.uma.es/~alvarezp/pm/recursividad
Brust, A. J. (2010). Programacin avanzada en SQL Server 2005. Estados
Unidos.
Schildt, H. (2010). Fundamentos de Java. ESTADO UNIDOS.
Wodtke, v. M. (2010). Diseo con herramientas digitales. mexico.