Este documento presenta conceptos y especificaciones relacionados con árboles y recorridos en árboles. Introduce definiciones clave de árboles binarios y n-arios como raíz, hijos, camino, altura, grado. Explica recorridos de árboles como pre-orden, in-orden y post-orden. También cubre el recorrido en anchura y provee especificaciones algebraicas formales para representar árboles y recorridos.
2. Bibliografía
• Tema III (lecciones 15 a 22) del libro “Campos Laclaustra, J.:
Estructuras de Datos y Algoritmos, Prensas Universitarias de
Zaragoza, Colección Textos Docentes, 1995 “
• Capitulo 5 del libro “X. Franch: Estructuras de datos.
Especificación, diseño e implementación, 3ª edición,
Ediciones UPC, 2001”
• Libro: “Joyanes, L., Zahonero, I., Fernández, M. y Sánchez,
L.: Estructuras de datos. Libro de problemas, McGraw Hill,
1999.”, capítulos 8, 9 y 10
• Capítulos 6 a 8, y 11 a 15 del libro “Martí, Ortega, Verdejo:
Estructura de datos y métodos algorítmicos.
Ejercicios y problemas resueltos,
Pearson Prentice Hall, 2003.”,
• Y muchos otros....
4. Conceptos, definiciones y terminología básica
• Árbol:
– Conjunto de elementos de un mismo tipo,
denominados nodos, que pueden representarse
en un grafo no orientado, conexo y acíclico, en el
que existe un vértice destacado denominado raíz
• Por lo general es una estructura jerárquica…
– Definición recursiva:
• Un árbol n-ario (con n1) es un conjunto no vacío de
elementos del mismo tipo tal que:
– Existe un elemento destacado llamado raíz del árbol
– el resto de los elementos se distribuyen en m subconjuntos
disjuntos (0 m n ), llamados subárboles del árbol original,
cada uno de los cuales es a su vez un árbol n-ario
5. Conceptos, definiciones y terminología básica
• Árbol ordenado:
– Si en el conjunto de subárboles de un árbol n-ario
se supone definida una relación de orden total, el
árbol se denomina ordenado
Árbol ordenado con raíz X y
subárboles A1 … Am Árbol 3-ario de números enteros
Leyenda: Nodo Árbol
6. Conceptos, definiciones y terminología básica
• Hoja:
– Un árbol compuesto por un solo elemento se denomina
hoja
Raíz
3 Nodo
Árbol
6 9
7 33 51
Hoja
Hoja 15 55 Hoja 13 23 38
Hoja
Hoja Hoja
Ejemplo de árbol 3-ario
7. Conceptos, definiciones y terminología básica
• Camino: un camino es una secuencia de árboles A1,..As, s1,
tal que Ai+1 es subárbol de Ai, para todo 1is-1
• Longitud de camino: número de árboles en la secuencia del
camino, menos 1
• Por convenio: diremos que existe un camino de longitud 0, de
todo subárbol a si mismo
3
Camino desde
el árbol de raíz
el nodo 3,
6 9
hasta el árbol Camino desde
cuya raíz es el el nodo 9
nodo 55, y su hasta el 23, de
longitud es 3 7 33 51 longitud 2
15 55 13 23 38
8. Conceptos, definiciones y terminología básica
• Si en un árbol A existe un camino desde el subárbol A1 hasta el
subárbol A2, se dice que A1 es antecesor de A2 y que A2 es
descendiente de A1
Antecesores del árbol Antecesor del árbol
cuya raíz es el nodo cuya raíz es el nodo
7, son los subárboles 6, es el árbol cuya
que tienen como raíz es el nodo 3
raíces: el nodo 6, y el 3 Descendientes del
del nodo 3, y sus árbol cuya raíz es el
descendientes son nodo 6 son todos los
los subárboles que 6 9 subárboles que
tienen como raíces el “cuelgan” de el.
nodo 15, y el del 55
7 33 51
15 55 13 23 38
9. Conceptos, definiciones y terminología básica
• Los antecesores o descendientes de un subárbol, distintos del
mismo subárbol, se denominan propios
• El padre de un subárbol, es su primer antecesor propio, si existe
• Los hijos de un subárbol, son sus primeros descendientes
propios, si existen
• Dos subárboles son hermanos, si tienen el mismo padre
3
Su padre es
Sus hijos son 6 9
7 33 51
15 55 13 23 38
Sus hermanos son
10. Conceptos, definiciones y terminología básica
• La altura de un árbol es la longitud del camino más largo que
puede encontrarse en el árbol
• La profundidad de un subárbol en un árbol, es la longitud del
único camino existente desde el árbol hasta el subárbol
• Un nivel, es el conjunto de subárboles de un árbol, con igual
profundidad (en el nivel 0 solo está el árbol original, en el nivel 1
sus hijos, etc)
11 Nivel 0
La altura del
árbol (cuya raíz
es el nodo 11), Nivel 1 La profundidad
6 9
es 3 del subárbol (en
el árbol de raíz
Nivel 2 7 33 51 11), es 2
Nivel 3 15 55 13 23 38
11. Conceptos, definiciones y terminología básica
• El grado de un árbol es el número máximo de hijos que pueden
tener sus subárboles
– Árbol n-ario árbol de grado n
– Árbol binario árbol de grado 2
– Etc…
11
6 9
7 33 51
15 55 13 23 38
Árbol de grado 3
12. Árboles Binarios
• Árbol binario:
– Conjunto de elementos o nodos del mismo tipo, tal que:
• o bien es el conjunto vacío, y entonces se llama árbol vacío
• o bien es no vacío, en cuyo caso existe un elemento destacado
llamado raíz, y el resto de los elementos se distribuyen en dos
subconjuntos disjuntos, llamados subárbol izquierdo y
subárbol derecho, cada uno de los cuales es un árbol binario
3
6 9
7 33 51
15 55 13
15. Recorridos en árboles binarios
Un recorrido de un árbol consiste en visitar todos los
elementos del árbol una sola vez
Recorridos en profundidad de árboles binarios:
• Recorrido en pre-orden: 1 Raíz
1. se visita la raíz
2. se recorre en pre-orden el hijo izquierdo 2
3
3. se recorre en pre-orden el hijo derecho Iz De
• Recorrido en post-orden: 3
Raíz
1. se recorre en post-orden el hijo izquierdo
2. se recorre en post-orden el hijo derecho 1 2
3. se visita la raíz Iz De
• Recorrido en in-orden: 2
Raíz
1. se recorre en in-orden el hijo izquierdo
2. se visita la raíz 1 3
3. se recorre en in-orden el hijo derecho Iz De
16. Recorridos en árboles binarios
3
6 9
7 33 51
15 55 13
• Ejercicio: Cuál será la secuencia de números que se
obtendrá al recorrer el árbol utilizando:
– Recorrido en pre-orden
– Recorrido en post-orden
– Recorrido en in-orden
17. Recorridos en árboles binarios
3
6 9
7 33 51
15 55 13
• Ejercicio: Cuál será la secuencia de números que se
obtendrá al recorrer el árbol utilizando:
– Recorrido en pre-orden
– Recorrido en post-orden
– Recorrido en in-orden
19. Recorridos en árboles n-arios
Un recorrido de un árbol consiste en visitar todos los
elementos del árbol una sola vez
Recorridos en profundidad de árboles n-arios: 1 Raíz
• Recorrido en pre-orden: 2 … N+1
1. se visita la raíz A1 An
2. se recorren en pre-orden todos los subárboles, de izquierda a
derecha N+1 Raíz
1 N
• Recorrido en post-orden: A1 … An
1. se recorren en post-orden todos los subárboles, de izquierda a
derecha
2. se visita la raíz
20. Recorrido en anchura
• El recorrido en anchura de un árbol consiste en visitar
todos los elementos del árbol una sola vez, de la
forma:
– primero se visitan los elementos del nivel 0, luego los
del nivel 1, y así sucesivamente,
– En cada nivel, se visitan los elementos de izquierda a
derecha 11 Nivel 0
6 9 Nivel 1
7 33 51
Nivel 2
15 55 13 23 38
Nivel 3
21. Recorrido en anchura – Especificación
Algebraica para árboles binarios
espec recorridoAnchura
usa árbolesBinarios, listas {de elementos}, naturales
Operaciones
parcial nivel: arbin nat −> lista
parcial nivelesSub: arbin nat −> lista
anchura: arbin −> lista
dominios de definición a:arbin; i:nat
nivel(a,i) y nivelesSub(a,i) sólo están definidos si 0≤i≤altura(a)
{y por lo tanto, no están definidas para arbin vacío}
ecuaciones
…