Recursividad
Recursividad
Recursividad
Un caso Base, el cual es el caso al que toda función recursiva tiene que
acabar llegando.
Un caso Recursivo es lo que suele ser una función que es capaz de auto
invocarse. La clave de esta auto invocación es que los elementos
La condición de terminación lo que hace dentro de una función es que hace que
deba de existir un caso donde esa función deje de llamarse a sí misma, en sí que
la ejecución recursiva que realiza la función llegue a parar.
Como ya hemos visto qué es lo que hace la recursividad, ahora podemos dar
algunos de ejemplos de lo útil que puede llegar a ser el uso y manejo del mismo.
El uso de la recursividad llega a ser una técnica que es idónea para las estructuras
de datos los cuales parten de un nodo raíz y del cual se van generando otros
nodos que vendrían a ser llamados nodos hijos. En la actualidad existen
algoritmos que se basan en la recursividad entre los cuales tenemos el
backtracking o también tenemos la búsqueda con poda
1.1. Backtracking
La búsqueda por poda es muy parecida al backtracking sin embargo hay una
característica que le hace diferente el cual es la posibilidad de generar nodos
siguiendo distintas estrategias. El diseño Ramificación y Poda en su versión más
sencilla puede seguir un recorrido en anchura (estrategia LIFO) o en profundidad
(estrategia FIFO), o utilizando el cálculo de funciones de coste para seleccionar el
nodo que en principio parece más prometedor (estrategia de mínimo coste o LC).
Además de estas estrategias, la técnica de Ramificación y Poda utiliza cotas para
podar aquellas ramas del árbol que no conducen a la solución óptima. Para ello
calcula en cada nodo una cota del posible valor de aquellas soluciones
alcanzables desde ése. Si la cota muestra que cualquiera de estas soluciones
tiene que ser necesariamente peor que la mejor solución hallada hasta el
momento no necesitamos seguir explorando por esa rama del árbol, lo que
permite realizar el proceso de poda.
var txt1;
if (f == 0)
return 1;
else
}
console.log("El factorial de ", txt1,"es:", factorialRecursivo(txt1));
<html>
<head>
<title>RECURSIVIDAD EN UNA SUMA</title>
<!-Encontrar la suma factorial de un número->
<script type=”text/javascript”>
function contar (elemento){
If (elemento==0){
return 0;
}
Return (elemento + (contar(elemento-1)));
}
</script>
<head>
<body>
<script type=”text/javascript”>
var a;
var b;
b=parseInt(prompt(“Introduce un número”));
a=contar(b);
document.write(“El factorial es : “+a);
</script>
</body>
</html>