2.3 Ejemplos de Casos Recursivos
2.3 Ejemplos de Casos Recursivos
2.3 Ejemplos de Casos Recursivos
3 Ejemplos de
casos recursivos
Equipo2:
Xochitl Itahy Ramos Jimenez,
A l b e r t o d e J e s ú s D í a z Ve l a s c o ,
Ángel Geovanni Ortiz Ramos,
Ruudvan Ordaz Pacheco, José
Antonio Méndez Manzano &
Melchor Mijangos Ivonne
Guadalupe.
¿Qué es la recursividad?
Cuando algo se especifica en términos de si mismo.
Un ejemplo de caso recursivo muy básico sería la suma de dos números enteros, ejemplo:
Caso base: si uno de los números es igual a cero, la suma es el otro número.
Procedimiento recursivo: si ninguno de los números a sumar es igual a cero, la suma de ambos la podemos expresar como:
suma = 1 + suma (a , ( b – 1 ) )
Traza:
Segundo ejemplo de caso recursivo (Xóchitl Itahy Ramos Jiménez)
Segundo ejemplo de caso recursivo (Xóchitl Itahy Ramos Jiménez)
Un ejemplo de caso recursivo lineal (suma recursiva de los elementos de un arreglo) la suma de un array de n enteros, ejemplo:
Caso base: si n es cero la suma es trivialmente cero.
Procedimiento recursivo: de lo contrario, es la suma de los primeros n – 1 enteros en el arreglo mas el ultima valor en él y la
podemos expresar como:
(dato, n - 1) + dato [ n – 1 ]
Traza:
Tercer caso recursivo ( Ruudvan Ordaz Pacheco )
Cuarto caso recursivo ( Ruudvan Ordaz Pacheco )
Quinto caso recursivo ( José Antonio Méndez Manzano )
Sexto caso recursivo ( José Antonio Méndez Manzano )
Séptimo caso recursivo ( Alberto de Jesús Díaz Ve l a s c o )
Octavo caso recursivo ( Alberto de Jesús Díaz Velasco )
Noveno caso recursivo ( Ángel Geovanni Ortiz Ramos )
Decimo caso recursivo ( Ángel Geovanni Ortiz Ramos )
Onceavo caso recursivo ( Melchor Mijangos Ivonne Guadalupe )
Para los árboles binarios existen 3 tipos de recorridos: preorden, postorden e inorden. Vamos a ver los tres:
private void preorden(Nodo n) {
if (n != null) {
n.imprimirDato();
preorden(n.getIzquierda());
preorden(n.getDerecha()); } }
private void inorden(Nodo n) {
if (n != null) {
inorden(n.getIzquierda());
n.imprimirDato();
inorden(n.getDerecha()); } }
private void postorden(Nodo n) {
if (n != null) {
postorden(n.getIzquierda());
postorden(n.getDerecha());
n.imprimirDato(); } }
public void preorden() {
this.preorden(this.raiz); }
public void inorden() {
this.inorden(this.raiz); }
public void postorden() {
this.postorden(this.raiz);}
Caso recursivo del factorial ( Melchor Mijangos Ivonne Guadalupe )
Primer caso no recursivo del factorial ( Melchor Mijangos Ivonne Guadalupe )
La versión no recursiva factiterativo() debe estar clara. Utiliza un bucle que empieza en 1 y
termina en n y que progresivamente multiplica cada número por el producto móvil.
THANKS!