SEMANA 6
ÍNDICE
ÁRBOLES .............................................................................................................................................. 3
Objetivos Específicos ........................................................................................................................... 3
INTRODUCCIÓN ................................................................................................................................... 3
1. CONCEPTO DE ÁRBOLES .............................................................................................................. 4
2. REPRESENTACIÓN DE ÁRBOLES................................................................................................... 7
2.1. Diagrama de venn ............................................................................................................... 7
2.2. Anidación de paréntesis ...................................................................................................... 8
2.3. Notación decimal de dewey ................................................................................................ 8
2.4. Notación identada ............................................................................................................... 8
2.5. Grafo.................................................................................................................................... 8
3. LONGITUD DE CAMINO INTERNO Y EXTERNO .......................................................................... 10
3.1. Longitud de camino interno .............................................................................................. 10
3.2. Longitud de camino externo ............................................................................................. 11
4. OPERACIONES CON ÁRBOLES.................................................................................................... 14
5. APLICACIONES CON ÁRBOLES ................................................................................................... 15
COMENTARIO FINAL.......................................................................................................................... 16
REFERENCIAS ..................................................................................................................................... 17
2
ESTE DOCUMENTO CONTIENE LA SEMANA 6
ÁRBOLES
OBJETIVOS ESPECÍFICOS
Se espera que, al finalizar esta semana, el estudiante sea capaz de:
INTRODUCCIÓN
Las estructuras de datos analizadas hasta ahora (pilas, colas y listas enlazadas) poseen la
característica común de ser lineales, es decir, cada dato o nodo tiene solamente un sucesor. Esta
peculiaridad conlleva a que su recorrido sea relativamente sencillo de ejecutar. Sin embargo, hay
otras estructuras de datos donde un nodo puede tener varios sucesores. Tal particularidad las
convierte en estructuras de datos no lineales.
El objetivo de esta semana es conocer las Árboles que son estructuras de datos no lineales. Los
árboles son estructuras que ayudan a clasificar y ordenar los datos. Los árboles son, por ejemplo,
la estructura primordial para el índice de una base de datos.
3
ESTE DOCUMENTO CONTIENE LA SEMANA 6
1. CONCEPTO DE ÁRBOLES
Un árbol es una estructura de datos dinámica no lineal que se compone de nodos y arcos,
donde cada nodo almacena el dato, mientras los arcos representan las relaciones con
otros nodos; además , debe conocerse la dirección de un nodo particular denominado raíz,
ya que este sirve de referencia para iniciar el recorrido en el árbol (López, 2012, p. 328).
“Los árboles son las estructuras de datos no lineales y dinámicas de datos más
importantes del área de computación. Dinámicas, puesto que las mismas pueden
cambiar tanto de forma como de tamaño durante la ejecución del programa. No
lineales, puesto que cada elemento del árbol puede tener más de un sucesor” (Cairó,
2006, p. 176).
4
ESTE DOCUMENTO CONTIENE LA SEMANA 6
CONCEPTOS RELACIONADOS A UN ÁRBOL
Para entender de mejor forma estos conceptos se hará referencia al dibujo del árbol presentado
en la Representación gráfica de un árbol del ítem anterior.
a) Raíz: Nodo del cual parte el recorrido del árbol. La raíz está representada por el nodo A.
b) Padre: Es el nodo que antecede a otro, es decir, aquel que tiene un apuntador hacia otro
nodo. Por ejemplo, el nodo A es padre de los nodos B, H y F.
c) Hijo: Representa el nodo sucesor o el descendiente, es decir, aquel apuntado por otro
nodo. Los nodos C, D y E son hijos del nodo B.
d) Hermano: Los nodos son hermanos cuando son hijos del mismo padre. Los nodos B, H y F
son hermanos debido a que son hijos comunes de nodo A.
e) Hoja: Se le asigna este término a los nodos que no tienen hijos o sucesores. Los nodos C,
D, P, N y K son las hojas del árbol.
f) Subárbol: Es una sección de una jerarquía de un árbol, es decir, la rama que contiene los
nodos descendientes de un nodo particular.
g) Interior: Se conoce con este término a aquellos nodos que no son raíz ni hojas del árbol.
Los nodos B, E, F y J forman el interior del árbol.
h) Nivel de un nodo: Representa la cantidad de arcos recorridos para llegar a un nodo
particular (partiendo de la raíz). La raíz tiene nivel 1, mientras el nodo D tiene nivel 3.
i) Altura de un árbol: Representa el valor más grande de los niveles de los nodos. El árbol
que se está analizando tiene altura 4.
j) Grado de un nodo: Es la cantidad de nodos descendientes (hijos) de un nodo. La raíz tiene
un grado 3, mientras que el nodo J posee el grado 2.
k) Grado del árbol: Representa el valor más grande de los grados de los nodos. El árbol
analizado tiene grado 3.
5
ESTE DOCUMENTO CONTIENE LA SEMANA 6
Los árboles balanceados o AVL son estructuras de datos más eficientes para trabajar con la
memoria principal (interna) del procesador, mientras que los árboles B y especialmente la versión
B+ representan la estructuras de datos más eficientes para trabajar en memoria secundaria o
externa (Cairó, 2006).
Se observa que las pilas y colas no fueron consideradas en la clasificación, puesto que depende de
la estructura que se utilice para implementarlas. Si se usan arreglos se tratarían como estructuras
estáticas, si se implementan con listas serán estructuras dinámicas. En ambos casos son lineales
(Cairó, 2006).
6
ESTE DOCUMENTO CONTIENE LA SEMANA 6
2. REPRESENTACIÓN DE ÁRBOLES
Un árbol se puede definir como una estructura jerárquica aplicada sobre una colección de
elementos u objetos llamados nodos, uno de los cuales es conocido como raíz, además, se crea
una relación o parentesco entre los nodos dando lugar a términos como padre, hijo, hermano,
antecesor, sucesor, ancestro, entre otros (Cairó, 2006).
7
ESTE DOCUMENTO CONTIENE LA SEMANA 6
2.2. ANIDACIÓN DE PARÉNTESIS
2.5. GRAFO
8
ESTE DOCUMENTO CONTIENE LA SEMANA 6
Fuente: (Cairó, 2006, p. 179).
En el grafo se distinguen nodos (círculos) - y arcos (líneas con flechas). Los primeros
se usan para almacenar la información y los últimos para establecer la relación entre
los nodos. En esta imagen los nodos almacenan letras y los arcos permiten ir de
ciertos nodos a otros (Cairó, 2006).
9
ESTE DOCUMENTO CONTIENE LA SEMANA 6
3. LONGITUD DE CAMINO INTERNO Y EXTERNO
Se define la longitud de camino del nodo X como el número que se debe recorrer para llegar desde
la raíz hasta el nodo X. Por definición, la raíz tiene longitud de camino 1, sus descendientes
directos longitud de camino 2 y así sucesivamente (Cairó, 2006).
10
ESTE DOCUMENTO CONTIENE LA SEMANA 6
El LCI del árbol de la Figura 1 se calcula de la siguiente forma:
La media de la longitud de camino interno (LCIM) se calcula dividiendo la LCI entre el número de
nodos del árbol (n). La media es importante, ya que permite conocer, en promedio, el número de
decisiones que se deben tomar para llegar a un determinado nodo partiendo de la raíz. Se
expresa.
Nodo Especial: Los nodos especiales tienen como objetivo reemplazar las ramas
vacías o nulas. No pueden tener descendientes y normalmente se representan en
forma de un cuadrado (Cairó, 2006).
11
ESTE DOCUMENTO CONTIENE LA SEMANA 6
A continuación se muestra el árbol extendido del árbol de la Figura 1.
El grado del árbol de la Figura 1 es 3 y el número de nodos especiales que se agregaron para
convertirlo en árbol extendido es de 25.
La longitud del camino externo (LCE) de un árbol es la suma de las longitudes de camino de todos
los nodos especiales del árbol. Se calcula con la siguiente fórmula.
12
ESTE DOCUMENTO CONTIENE LA SEMANA 6
Se observa que i comienza desde 2, puesto que la raíz se encuentra en el nivel 1 y no puede ser un
nodo especial.
La media de la longitud de camino externo (LCEM) se calcula dividiendo la LCE entre el número
total de nodos especiales del árbol (ne)
13
ESTE DOCUMENTO CONTIENE LA SEMANA 6
4. OPERACIONES CON ÁRBOLES
Un árbol puede ser recorrido de distintas formas. Cuando se recorre un árbol en profundidad
existen básicamente 3 formas de recorrerlo.
1. En pre orden
a. Se visita la raíz
b. Se visita el subárbol izquierdo
c. Se visita el subárbol derecho
2. En orden
a. Se visita el subárbol izquierdo
b. Se visita la raíz
c. Se visita el subárbol derecho
3. En post orden
a. Se visita el subárbol izquierdo
b. Se visita el subárbol derecho
c. Se visita la raíz
14
ESTE DOCUMENTO CONTIENE LA SEMANA 6
Si se la recorre de las distintas formas se obtendrá:
Pre orden: 7, 1, 0, 3, 2, 5, 4, 6, 9, 8, 10
En orden: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Post orden: 0, 2, 4, 6, 5, 3, 1, 8, 10, 9, 7
Fuente: http://thales.cica.es/rd/Recursos/rd98/Matematicas/28/i6-arbol.gif
15
ESTE DOCUMENTO CONTIENE LA SEMANA 6
ÁRBOL GENEALÓGICO
Fuente: http://estructuradatos08110897.blogspot.com/2011/11/arboles.html
COMENTARIO FINAL
Una de las estructuras de datos más importantes en programación es el árbol. Pueden usarse los
árboles para representar la información en una estructura jerárquica. Los árboles pueden
procesarse en forma recursiva y son muy adaptables a pruebas matemáticas.
La idea de estructura jerárquica es muy usada en la práctica. Por ejemplo, los libros son a menudo
organizados como una sucesión de capítulos cada uno de los cuales son una sucesión de secciones
que puede tener subdivisiones, y así sucesivamente. Una empresa puede organizarse como las
colecciones de unidades comerciales cada uno de las cuales pueden tener varias secciones. Las
secciones, a su vez, pueden tener secciones múltiples, y así sucesivamente. El software es
organizado como una colección de módulos cualquiera, que puede constituirse de varios sus
módulos, con el nivel de refinamiento que los diseñadores encuentren apropiado. En cierto nivel,
los módulos se expresan en unidades básicas como los objetos, los métodos, o procedimientos.
En otras palabras, las estructuras jerárquicas proporcionan una eficaz manera de organizar la
información. Los árboles aportan una capacidad enorme para expresar la idea de jerarquía.
16
ESTE DOCUMENTO CONTIENE LA SEMANA 6
REFERENCIAS
Cairó O. y Guardati S. (2006). Estructura de Datos. 3ª edición. México: Mc Graw Hill.
17
ESTE DOCUMENTO CONTIENE LA SEMANA 6