Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles v2
Arboles v2
Tema III
Bibliografa
Tema III (lecciones 15 a 22) del libro Campos Laclaustra, J.:
Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Coleccin Textos Docentes, 1995 Capitulo 5 del libro X. Franch: Estructuras de datos. Especificacin, diseo e implementacin, 3 edicin, Ediciones UPC, 2001 Libro: Joyanes, L., Zahonero, I., Fernndez, M. y Snchez, L.: Estructuras de datos. Libro de problemas, McGraw Hill, 1999., captulos 8, 9 y 10 Captulos 6 a 8, y 11 a 15 del libro Mart, Ortega, Verdejo: Estructura de datos y mtodos algortmicos. Ejercicios y problemas resueltos, Pearson Prentice Hall, 2003.,
Y muchos otros....
Definicin recursiva:
Un rbol n-ario (con n1) es un conjunto no vaco de
elementos del mismo tipo tal que: Existe un elemento destacado llamado raz del rbol el resto de los elementos se distribuyen en m subconjuntos
disjuntos (0 m n ), llamados subrboles del rbol original, cada uno de los cuales es a su vez un rbol n-ario
Raz Nodo
9
rbol
33
51
Hoja Hoja
15 55
Hoja
13
23
38
Hoja
Hoja
Hoja
33
51
13
33
51
15
55
13
23
38
33
51
15
55
13
23
38
Nivel 0 Nivel 1
33
51
Nivel 3
55
13
23
38
33
51
15
55
13
23
38
rbol de grado 3
rboles Binarios
rbol binario:
Conjunto de elementos o nodos del mismo tipo, tal que:
o bien es el conjunto vaco, y entonces se llama rbol vaco o bien es no vaco, en cuyo caso existe un elemento destacado
llamado raz, y el resto de los elementos se distribuyen en dos subconjuntos disjuntos, llamados subrbol izquierdo y subrbol derecho, cada uno de los cuales es un rbol binario
3
33
51
15
55
13
{operacin plantar}
ecuaciones iz,de:arbin; e:elemento raz(e<iz,de>) = e subIzq(e<iz,de>) = iz subDer(e<iz,de>) = de vaco?() = verdad vaco?(e<iz,de>) = falso (vaco?(iz))(vaco?(de)) altura(e<iz,de>) = 0 (vaco?(iz)) (vaco?(de)) altura(e<iz,de>) = suc(altura(de)) (vaco?(iz)) (vaco?(de)) altura(e<iz,de>) = suc(altura(iz)) (vaco?(iz)) (vaco?(de)) altura(e<iz,de>) = suc(max(altura(iz),altura(de))) fespec
1. se recorre en post-orden el hijo izquierdo 2. se recorre en post-orden el hijo derecho 1 3. se visita la raz 1. se recorre en in-orden el hijo izquierdo 2. se visita la raz 3. se recorre en in-orden el hijo derecho
Recorrido en post-orden:
Raz
Iz
De
Recorrido en in-orden:
2 1
Raz
Iz
De
33
51
15
55
13
33
51
15
55
13
fespec
Recordatorio &: concatenacin de listas de elementos []: lista vaca
Recorrido en pre-orden:
derecha
N+1
N+1
Raz
N
A1
Recorrido en post-orden:
An
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 Nivel 0 11
6 9
Nivel 1
Nivel 2
15
33
51
Nivel 3
55
13
23
38
fespec
i=altura(a) -> nivelesSub(a,i) = nivel(a,i) i<altura(a) -> nivelesSub(a,i) = nivel(a,i) & nivelesSub(a,i+1) anchura(vaco) = [] anchura(plantar(e,ai,ad)) = nivelesSub(plantar(e,ai,ad),0) fespec