Anda di halaman 1dari 17

ESTRUCTURA DE DATOS

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:

Comprender las características de la estructura de datos Árbol.


Determinar los operadores básicos de los Árboles en un contexto determinado.
Determinar y utilizar la aplicación de árboles para la resolución diversos tipos de
problemas.

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.

Por lo anterior, es importante conocer la representación, uso e implementación de árboles,


diseñar algoritmos que utilicen árboles, codificar programas que utilicen árboles y conocer
aplicaciones que implementen árboles.

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).

REPRESENTACIÓN GRÁFICA DE UN ÁRBOL

Fuente: (2014). Recuperado de http://sistemas.ing.ula.ve/~m.camejo/images/tree.gif

“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).

A continuación se presentan las principales estructuras de datos clasificadas de acuerdo con su


capacidad para cambiar en forma y tamaño, durante la ejecución de un programa.

Fuente: (Cairó, 2006, p. 176).

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).

A continuación se presentan las principales estructuras de datos clasificadas según la distribución


de elementos.

Fuente: (Cairó, 2006, p. 176).

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).

“Formalmente se define un árbol de tipo T como una estructura homogénea


resultado de la concatenación de un elemento de tipo T con un número finito de
árboles disjuntos, llamados subárboles. Una forma particular de árbol es el árbol
vacío. Los árboles son estructuras recursivas, ya que cada subárbol es a su vez un
árbol”. (Cairó, 2006, p. 177).

Un árbol se puede representar de múltiples formas y todas se consideran equivalentes. A


continuación se presentarán cinco notaciones diferentes correspondientes a un mismo árbol.

2.1. DIAGRAMA DE VENN

Fuente: (Cairó, 2006, p. 179).

7
ESTE DOCUMENTO CONTIENE LA SEMANA 6
2.2. ANIDACIÓN DE PARÉNTESIS

Fuente: (Cairó, 2006, p. 179).

2.3. NOTACIÓN DECIMAL DE DEWEY

Fuente: (Cairó, 2006, p. 179).

2.4. NOTACIÓN IDENTADA

Fuente: (Cairó, 2006, p. 179).

2.5. GRAFO

8
ESTE DOCUMENTO CONTIENE LA SEMANA 6
Fuente: (Cairó, 2006, p. 179).

Esta representación es la que comúnmente se utiliza y ha originado el término de árbol por su


parecido abstracto con el vegetal (raíz, ramas y hojas). Esto a pesar que la raíz se dibuje arriba,
aunque en el vegetal se encuentre abajo (Cairó, 2006).

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).

VALGA CONSIDERAR EL SIGUIENTE ÁRBOL (FIGURA 1)

El nodo B tiene longitud de camino 2, el nodo I longitud de camino 4 y el nodo H longitud de


camino 3.

3.1. LONGITUD DE CAMINO INTERNO


La longitud de camino interno (LCI) del árbol es la suma de las longitudes de camino de todos los
nodos del árbol. Esta medida es importante porque permite conocer los caminos que tiene el
árbol. Se calcula por medio de la siguiente fórmula:

Donde i representa el nivel del árbol y h su altura y ni el número de nodos en el nivel i


(Cairó, 2006).

10
ESTE DOCUMENTO CONTIENE LA SEMANA 6
El LCI del árbol de la Figura 1 se calcula de la siguiente forma:

LCI = 1*1 + 2*2 + 5*3 + 4*4 = 36

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.

Donde LCI representa la longitud de camino interno y n el número de nodos en el


árbol (Cairó, 2006).

El LCIM del árbol de la Figura 1 sería:

LCIM = LCI/n = 36/12 = 3

3.2. LONGITUD DE CAMINO EXTERNO


Antes de definir el concepto de longitud de camino externo se explicará el concepto de árbol
extendido y nodo especial.

Árbol extendido: Es aquel en el que el número de hijos de cada nodo es igual al


grado del árbol. Si alguno de los nodos del árbol no cumple con esta condición
entonces deben incorporarse al mismo, tantos nodos especiales como se requiera
para llegar a cumplirla.

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.

Fuente: (Cairó, 2006, p. 182).

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.

Donde i representa el nivel del árbol y h su altura y nei el número de nodos


especiales en el nivel i (Cairó, 2006).

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.

Para el árbol extendido se calcula la longitud del camino externo:

LCE = 1*2 + 1* 3 + 11*4 + 12*5 = 109

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)

Donde LCE representa la longitud de camino externo y ne el número de nodos


especiales en el árbol (Cairó, 2006).

La LCEM del árbol extendido se calculará así:

LCEM = 109/25 = 4,36

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

Véase la siguiente figura:

Fuente imagen: http://datastructuresnotes.blogspot.com/2009/02/binary-tree-traversal-preorder-


inorder.html

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

5. APLICACIONES CON ÁRBOLES


Los árboles se pueden aplicar para la solución de una gran cantidad de problemas. Por ejemplo, se
pueden utilizar para representar fórmulas matemáticas, para registrar la historia de un
campeonato de tenis, para construir un árbol genealógico, para el análisis de circuitos eléctricos y
enumerar los capítulos o secciones de un libro (Cairó, 2006).

ÁRBOL DE PROBABILIDADES CONDICIONADAS

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.

López, B. (2012). Estructura de Datos Orientado a Objetos. 1ª edición. México: Alfaomega.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2014). Árboles. Estructura de Datos. Semana 6.

17
ESTE DOCUMENTO CONTIENE LA SEMANA 6

Anda mungkin juga menyukai