Está en la página 1de 2

Recursividad , No 010, 24 de octubre de 2017. Universidad Tecnolgica de Pereira.

Recursividad
Autor: Hamilton Andrs Ruiz Mosquera
Matemtica, Universidad tecnolgica de Pereira (UTP), Pereira, Colombia
Correo: Hamilton.ruiz@utp.edu.co

I. INTRODUCCIN de los rboles binarios son los rboles binarios de bsqueda,


los montculos binarios y Codificacin de Huffman
En este documento vamos a realizar un breve ejercicio de
recursividad a travs de un rbol binario con lo cual
trataremos de explicar cada uno de los pasos y para que se
4 Cabeza
utiliza cada cdigo que iremos utilizando.

En lo cual se aprender a usar la sintaxis de cmo se debe Nodo N.dato


escribir en un lenguaje de programacin por lo cual tambin
8 N
3
se especificara cmo y en qu orden se manejan las
funciones que en este caso es algo muy importante
6 9 2 1
II. CONTENIDO
N izquierda N derecho
Null o Null o
1. Recursividad
2. rbol binario vaco vaco
3. Funciones
algoritmos
4. Conclusin
5. Referencias
Funciones
Recursividad Bueno cuando hablamos de funciones son los algoritmos
Recurrencia, recursin o recursividad es la forma en la cual que designan lo que se va a realizar, y como ya tenemos un
se especifica un proceso basado en su propia definicin, objeto para realizar un trabajo plantearemos las siguientes
siendo sta caracterstica discernible en trminos de auto- funciones o algoritmos.
referencialidad, auto-poiesis, frac-talidad, o, en otras Una funcin, desde el punto de vista de la programacin, se
palabras, construccin a partir de un mismo tipo. Con nimo define como un proceso que recibe
de una mayor precisin, y para evitar la aparente Valores de entrada (llamados parmetros) y el cual retorna
circularidad en esta definicin, se formula el concepto de un valor resultado. Adicionalmente,
recursin de la siguiente manera. En pocas palabras la Las funciones son subprogramas dentro de un programa, que
recursin es un programa que se ejecuta as mismo hasta se pueden invocar (ejecutar) desde
completar una orden u operacin determinada Cualquier parte del programa, es decir, desde otra funcin,
desde la misma funcin o desde el
Programa principal, cuantas veces sea necesario.
Las funciones se usan cuando existen dos o ms porciones
rbol binario de algoritmo dentro de un programa
En ciencias de la computacin, un rbol binario es una Que son iguales o muy similares, por ejemplo, en un
estructura de datos en la cual cada nodo puede tener un hijo algoritmo se puede emplear varias veces
izquierdo y un hijo derecho. No pueden tener ms de dos Una porcin de algoritmo que eleva a una potencia dada un
hijos (de ah el nombre "binario"). Si algn hijo tiene como nmero real. De esta manera
referencia a null, es decir que no almacena ningn dato, Conviene definir una funcin que al ser invocada ejecute
entonces este es llamado un nodo externo. En el caso dicho cdigo, y en el lugar donde
contrario el hijo es llamado un nodo interno. Usos comunes

1
Recursividad , No 010, 24 de octubre de 2017. Universidad Tecnolgica de Pereira.

Estaba la porcin de algoritmo original, se hace un llamado }


(ejecucin) de la funcin creada Prueba de escritorio

Sumar (cabeza)
Algoritmos
Bueno en este punto vamos a escribir los algoritmos para la Sumar (N)
resolucin de varios problemas [ ]=0
1. Crear una funcin que imprima el contenido del 4+sumar (n.izq)+sumar (n.der)
rbol, de arriba hacia abajo y de izquierda a derecha 8+sumar (n.izq.izq)+sumar (n.izq.der)
funcin (N) 6+suma (n.izq.izq.izq)+suma (n.izq.izq.der)
{
Para empezar lo primordial de la recursividad es mirar si ya 9+sumar(n.izq.izq)+sumar(n.izq.der
se terminar

3+sumar(n.der.izq)+sumar(n.der.der)
Si N==[ ] entonces retornar 0 2+ sumar(n.der.iza)+sumar(n.der.der)
Y si al realizar la operacin se da de cuenta que hay
algo hay que preguntar qu pasa, que hay que hacer
Sino REFERENCIAS
Imprimir a (N.dato)
Escribir (N.izq) http://dis.unal.edu.co/~programacion/book/modulo
Escribir (N.der) 4.pdf
Si despus de terminar de revisar ves que ya no hay nada
que hacer pues podemos decir que terminamos y solo es de
cerrar la funcin y ejecutar
Fin
}

2. Una funcin que imprima el nmero de nodos del


rbol
Funcin contar(N)
{
Si N==[ ] entonces retornar 0
Sino
Retornar 1+ contar(N.izq) + contar(N.der)
Fin
}
Prueba de escritorio
Contar (N)
N=[] no
1+ contar(N.izq) + contar(N.der)

1 contar(N.izq)+contar(N.der
)
3. Escribir una funcin recursiva que retorne la suma
de todos los contenidos de los nodos del rbol
funcin sumar(N)
{
Si N==[ ] entonces retornar 0
Sino
Imprimir(N.dato) + sumar(N.izq) +
sumar(N.der)
Fin