Introducción a la recursividad en árboles binarios
1. Introducción a la informática 2017 1
Recursividad
recursion
Manuela López Cardona
Departamento de ingenierías, Universidad Tecnológica de Pereira, Colombia
Correo-e: manulc119@gmail.com
Resumen— En este documento se va a explicar la recursividad en
los arboles binarios, empleando diferentes algoritmos que se irán
explicando a lo largo del paper. Primero se va a explicar la parte
teórica ay la estructura de los árboles, la cabeza, los nodos y los
datos, luego se ejecutaran unos códigos para una mejor
comprensión.
Palabras clave— árbol binario, datos, nodos, recursividad, vacío.
Abstract— In this document, we explain the recursion in binary
trees, using different algorithms that are explained along the
paper. First the theoretical part and the structure of the trees, the
head, the nodes and the data will be explained, then the codes will
be seen for a better understanding.
Key Word — binary tree, data, nodes, recursion, empty.
I. INTRODUCCIÓN
1.2 ¿Qué es la recursividad?
La recursividad es una técnica de programación que
se utiliza para realizar una llamada a una función desde
ella misma, de allí su nombre. El ejemplo más utilizado por su
fácil comprensión es el cálculo de números factoriales. El
factorial de 0 es, por definición,
1. Los factoriales de números mayores se calculan mediante la
multiplicación de 1 * 2 *, incrementando el número de 1 en 1
hasta llegar al número para el que se está calculando elfactorial.
Un algoritmo recursivo es un algoritmo que expresa la
solución de un problema en términos de una llamada a sí
mismo. La llamada a sí mismo se conoce como llamada
recursiva o recurrente.
La recursividad, es un concepto bastante importante y bien
básico de la programación. Sin embargo es bastante difícil de
asimilar al principio. Se supone que es algo que se va
entendiendo con práctica y tiempo
1.3 ¿Qué es un algoritmo recursivo?
Un algoritmo recursivo es un algoritmo que expresa la
solución de un problema en términos de una llamada a sí
mismo. La llamada a sí mismo se conoce como llamada
recursiva o recurrente. ... Cada llamada recurrente se debería
definir sobre un problema de menor complejidad (algo más
fácil de resolver)
1.3.1 Algoritmo recorrer árbol
Función recorrer (n)
{
Si n = = NULL
Retornar
Sino
Recorrer (n.izq)
Recorrer (n.der)
Fin si
2. Introduccióna la informática 20172
}
En este algoritmo lo que se quiere es recorrer el árbol
simplemente, el primer paso para realizar un algoritmo
recursivo es preguntarse si ya se terminó? Por eso al inicio
buscamos cuando uno de los nodos queda vacío,seguido de eso
solo nos desplazamos al resto de los nodos,porla derecha y por
la izquierda. La función se detiene cuando encuentre todos los
nodos vacíos,ya que cuando los encuentre se da por hecho que
ya recorrió todo el árbol.
1.3.2 Algoritmo para imprimir
Función imprimir
{
Si n = = NULL
Retornar
Sino
Escribir (n.dato)
Imprimir (n.izq)
Imprimir (n.der)
Fin si
}
Con este algoritmo se pretende imprimir todos los elementos
que se encuentran en el árbol, primero se revisa si ya se terminó
la recursividad, si no se ha terminado se pasa a recorrer el resto
del árbol, se *escribe* el dato que está en el interior y se va
desplazando primero por la izquierda y luego ´por la derecha
hasta que se encuentre con los vacíos.
1.2.3 Algoritmo para buscar un número en el árbol
Buscar (n, x)
{
Si
n = = NULL
Retornar NULL
Fin si
Si
(n.dato) = = x
Retornar TRUE
Fin si
Si
buscar (n.izq, x) = = TRUE
Retornar TRUE
Fin si
Si
buscar (n.der, x)= =TRUE
Retornar TRUE
Fin si
Retornar NULL
}
En este algoritmo se tienen dos variables, x que es el número
que se quiere buscaren el árbol y n que es el nodo que se va a
revisar para ver si es igual a x.
Primero se mira si la recursividad ya termino, es decir, si se
encuentra vacío el nodo que se quiere revisar. Si no se
encuentra vacío se examina el primer nodo y se dice que si es
igual a x muestre un TRUE y ya el resto de las operaciones se
hacen con respecto a la anterior, ya que se evalúa si por el nodo
derecho se muestra un TRUE, es decir, si el dato de n es igual
a x y se realiza el mismo procedimiento por el nodo de la
izquierda, si la función recorre todo el árbol y no encuentra a
devuelve un NULL.
II. CONCLUSIONES
Se concluye que un algoritmo recursivo es un código que nos
facilita todo a la hora de programar, y durante este trabajo se
explica el uso de algoritmos recursivos en arboles binarios.
REFERENCIAS
[1]. https://es.wikipedia.org/wiki/Recursi%C3%B3n_(cie
ncias_de_computaci%C3%B3n)
[2]. http://webdelprofesor.ula.ve/nucleotrujillo/jalejandro/
Prog2/Unidad3.pdf
[3]. http://picandocodigo.net/2008/recursividad-en-
programacion