Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

2.3 Ejemplos de Casos Recursivos

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 18

2.

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.

¿Por qué aprender recursividad?


• Representa un nuevo modo de pensar.
• Proporciona un poderoso paradigma de programación.
• Permite razonar sobre la corrección.
• Da una idea de la naturaleza de la computación.
Primer ejemplo de recursividad (Xóchitl Itahy Ramos Jiménez)
Primer ejemplo de recursividad (Xóchitl Itahy Ramos Jiménez)

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 )

Mostramos a continuación la versión no recursiva del factorial.

int factiterativo (int n) {


int t, res;
res=1;
for (t=1; t<= n; t++)
res*=t;
return(res);
}

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!

También podría gustarte