230315
ARTICLE
RECURCIVIDAD E ITERACION
Estructura de datos
Angel Alejandro Garcia Rivera E-mail: 1330469@upv.edu.mx
Received D M 2015; Accepted D M 2015
DOI: 10.5772/59974
© 2015 The Author(s). Licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License
( http://creativecommons.org/licenses/by/3.0), whichpermits unrestricted use, distribution, and reproduction in any medium, provided the
original work is properly cited.
menor 3. La manera en la cual el tamaño del problema
disminuye asegura que el caso base eventualmente se
alcanzará. ¿Por qué escribir programas recursivos?
Abstract
En este documento se presentan algunos algoritmos que
se implementaron en forma recursiva e iterativa con el finde llegar a entender el comportamiento de las pilas,
utilizando pseudocodigo se logro implementar los
algoritmos para poder realizar pruebas y mirar el
funcionamiento de estos.
Keywords Pseudocodigo, Memoria, Iterativo,
Pila, Algoritmo, Recursividad.
1. Introduction
Primero debemos decir que la recursividad no es una
estructura de datos, sino que es una técnica de
programación que nos permite queun bloque de
instrucciones se ejecute n veces. Remplaza en ocasiones a
estructuras repetitivas.
Este concepto será de gran utilidad para el capítulo de la
estructura de datos tipo árbol.
La recursividad es un concepto difícil de entender en
principio, pero luego de analizar diferentes problemas
aparecen puntos comunes.
Las funciones recursivas se componen de:
• Son más cercanos a la descripciónmatemática.
• Generalmente más fáciles de analizar
• Se adaptan mejor a las estructuras de datos recursivas.
• Los algoritmos recursivos ofrecen soluciones
estructuradas, modulares y elegantemente simples.
Otros conceptos
• Cuando un procedimiento incluye una llamada a sí
mismo se conoce como recursión directa.
• Cuando un procedimiento llama a otro procedimiento y
éste causa que el procedimientooriginal sea invocado, se
conoce como recursión indirecta.
La iteración es la represetacion de un proceso dentro de
un programa de computadora. Se denomina iteración por
que requiere la repetición explicita de cierto proceso hasta
llegar a la condición indicada
2. Metodologia
2.1. Factorial
El factorial de
un entero
de n o n factorial se
define
positivo n,
en
el factorial
principio
como
elproducto de todos los números enteros positivos desde
1 (es decir, los números naturales) hasta n. Por ejemplo:
Caso base: una solución simple para un caso particular
(puede haber más de un caso base). Caso recursivo: una
solución que involucra volver a utilizar la función
original, con parámetros que se acercan más al caso base.
Los pasos que sigue el caso recursivo son los siguientes: 1.
Elprocedimiento se llama a sí mismo 2. El problema se
resuelve, tratando el mismo problema pero de tamaño
1
2.1.1 Algoritmo recursivo
El algoritmo siguiente es la forma de calcular la serie de
El algoritmo recursivo de factorial se calcula apartir n en
Fibonacci de manera recursiva:
forma recursiva, donde n es un valor nuemrico, positivo o
nulo:
Si la variable n es igual o menor a 1 la funciónsolo
regresara 1, de lo contrario ejecutara el algoritmo
Esto nos dice que si nuestro numero n es menor o igual a
0, esa función nis retorna 1 como resultado de lo contrari
se mandara llamar la misma función en n-1 apilando de
llamándolo dentro de si mismo en n-1 y n-2.
2.2.2 Algoritmo iterativo
uno en uno hasta que la condición deje de cumplirse y al
Un método más práctico evitaría calcular lasmismas
ultimo regresando el resultado calculándose.
sumas más de una vez. Considerando un par (i,j), de
2.1.1 Algoritmo iterativo
números consecutivos de la sucesión de Fibonacci, el
siguiente par de la sucesión es (j,i+j), de esta manera se
El factorial de un número de manera iterativa funciona de
divisa un algoritmo donde sólo se requiere considerar dos
una anera similar al recursivo,...
Regístrate para leer el documento completo.