Teoría de árboles

28
[Estructura de Datos]- [1] Facultad de Economía, Empresa y Negocios Árboles Estructura de Datos.

description

La teoría de árboles, se aborda en la temática de las Estructuras de Datos no lineales

Transcript of Teoría de árboles

[Estructura de Datos]- [1]

Facultad de Economía, Empresa y Negocios

Árboles

Estructura de Datos.

[2]

Facultad de Economía, Empresa y Negocios

Objetivos

- Familiarizarse con elconcepto de árbol y sustérminos asociados

- Conocer la forma derepresentar un árbol ycomo calcular elequilibrio

[3]

Facultad de Economía, Empresa y Negocios

Introducción Los árboles son estructuras no lineales, al contrario

que los arrays y listas enlazadas que constituyenlistas lineales.

Son utilizados en informática para representarformulas algebraicas, como un método eficientepara búsquedas grandes y complejas en listasdinámicas y en aplicaciones diversas tales comoInteligencia Artificial o algoritmos de cifrado.

[4]

Facultad de Economía, Empresa y Negocios

Árboles generales Es una estructura en la que los datos se organizan

de modo que los elementos de la información estánrelacionados entre si a través de ramas.

Ej: Árbol genealógico.

[5]

Facultad de Economía, Empresa y Negocios

Definiciones: Un árbol consta de un conjunto finito de elementos

denominados nodos, y un conjunto finito de líneasdirigidas, denominadas ramas, que conectan losnodos. El número de ramas asociado con un nodoes el grado del nodo.

[6]

Facultad de Economía, Empresa y Negocios

Un árbol es un conjunto de uno o más nodos talesque: Hay un nodo diseñado especialmente llamado raíz Los nodos restantes se dividen en N conjuntos disjuntos

tales que T1….Tn en donde cada uno de estos conjuntoses un árbol. A T1,T2…Tn se le denomina subárboles de laraíz.

Si un árbol no está vacío, entonces el primer nodose llama raíz.

[7]

Facultad de Economía, Empresa y Negocios

GráficamenteRaíz

[8]

Facultad de Economía, Empresa y Negocios

Terminología Utilizando el concepto de árbol genealógico un

nodo puede ser considerado como un padre sitiene nodos sucesores.

Los nodos sucesores se llaman hijos. Los hijos deun nodo y los hijos de los hijos se llamandescendientes y el padre y abuelos de un nodo sellaman ascendientes.

[9]

Facultad de Economía, Empresa y Negocios

AA

BB CCDD

HHEE FF

GG

II JJ

Los nodos E, F,I y J sondescendientes de B

Los nodos E, F,I y J sondescendientes de B

Cada nodo raíz tiene unúnico padre y cada padre

tiene cero o más hijos.

Cada nodo raíz tiene unúnico padre y cada padre

tiene cero o más hijos.

Dos o más nodos con elmismo padre se llaman

hermanos

Dos o más nodos con elmismo padre se llaman

hermanos

Un nodo sin hijos se llama“hoja”

Un nodo sin hijos se llama“hoja”

[10]

Facultad de Economía, Empresa y Negocios

El nivel de un nodo es su distancia al raíz. El raíztiene una distancia cero de si misma. Por lo que sedice que el raíz está en un nivel 0. Los hijos del raízestán en nivel 1, sus hijos están en nivel 2 ysucesivamente.

Los hermanos están siempre al mismo nivel, perono todos los nodos de un mismo nivel sonhermanos.

[11]

Facultad de Economía, Empresa y Negocios

AA

BB EE FF

IICC DD HHGG

Nivel 0

Nivel 1

Nivel 2

Padres : A,B,F Hojas: C,D,E,G,H,IHijos: B,E,F,C,D,G,H,I Nodos alternos: B, FHermanos: {B,E,F} {C,D} {G,H,I}

Padres : A,B,F Hojas: C,D,E,G,H,IHijos: B,E,F,C,D,G,H,I Nodos alternos: B, FHermanos: {B,E,F} {C,D} {G,H,I}

[12]

Facultad de Economía, Empresa y Negocios

Camino Es una secuencia de nodos en los que cada nodo es

adyacente al siguiente. Cada nodo del árbol puedeser enlazado siguiendo un único camino quecomienza en la raíz.

La altura o profundidad de un árbol es nivel de lahoja del camino más largo desde la raíz más uno.

[13]

Facultad de Economía, Empresa y Negocios

Profundidad 4Por definición la altura de un árbol vacío es 0

AA

BB EE FF

IICC DD HHGG

[14]

Facultad de Economía, Empresa y Negocios

Subárboles Es cualquier estructura conectada por debajo de la

raíz. Cada nodo de un árbol es la raíz de unsubárbol que se define por el nodo y todos losdescendientes del nodo.

El primer nodo de un subárbol se conoce como raízdel subárbol y se utiliza para nombrarlo.

[15]

Facultad de Economía, Empresa y Negocios

AA

BB EE FF

IICC DD HHGG

En la figura BCD es un subárbol al igual que e y FGHI.Un nodo simple es un subárbol. Por consiguiente el subárbol B se puede dividir ensubárboles C y D mientras que el subárbol F tiene los subárboles :________________Se dice que los subárboles CDGHI son subárboles sin descendientes.

[16]

Facultad de Economía, Empresa y Negocios

Representación de un árbol Las formas de representar un árbol en papel son

diversas entre ellas tenemos: En diagrama En lista

[17]

Facultad de Economía, Empresa y Negocios

DiagramaAA

BB EE FF

CC DD HHGG

ID Descripción501 Computadora501-11 Monitor….501-21 CPU

501-211 Controlador501-212 ALU501-219 ROM

ID Descripción501 Computadora501-11 Monitor….501-21 CPU

501-211 Controlador501-212 ALU501-219 ROM

[18]

Facultad de Economía, Empresa y Negocios

Representación de lista Mediante una lista entre paréntesis, en donde cada

paréntesis abierto indica el comienzo de un nuevonivel; cada paréntesis cerrado completa un nivel yse mueve hacia arriba en un nivel en el árbol.

A(B(C,D),E,F(G,H,I))A(B(C,D),E,F(G,H,I))

[19]

Facultad de Economía, Empresa y Negocios

Representar el siguiente árbol en forma de lista

[20]

Facultad de Economía, Empresa y Negocios

Representar los siguiente árboles en forma gráfica

24(14(6(4), 17(,21),35(32,59)) ) 30(12(10(4,7,11), 17(10,21),35(32,0,59)) )

[21]

Facultad de Economía, Empresa y Negocios

Árboles Binarios Es un árbol en el que ninguno de los nodos puede

tener más de dos subárboles. En una árbol binariocada nodo puede tener cero, uno o dos hijos. Se leconoce al nodo de la izquierda como hijo izquierdoal nodo de la derecha como hijo derecho.

[22]

Facultad de Economía, Empresa y Negocios

Árboles binariosA A

B C

A

B C

D E

G H

F

A

B

C

D

E

[23]

Facultad de Economía, Empresa y Negocios

A

B

C

D

E

A

B C

D E

G H

F

¿Cuál la profundidad de los árboles ?El árbol a se le conoce como “árbol degenerado”porque en el existe un solo nodo hoja y cada nodo hojasolo tiene un hijo. Un árbol degenerado es equivalente auna lista enlazada

¿Cuál la profundidad de los árboles ?El árbol a se le conoce como “árbol degenerado”porque en el existe un solo nodo hoja y cada nodo hojasolo tiene un hijo. Un árbol degenerado es equivalente auna lista enlazada

a) b)

[24]

Facultad de Economía, Empresa y Negocios

Equilibrio La distancia de un nodo al raíz determina la

eficiencia con la que puede ser localizado. Porejemplo dado cualquier nodo de un árbol, a sushijos se puede acceder siguiendo sólo un camino debifurcación o de ramas, el que conduce al nododeseado. De modo similar a nivel 2 de un árbol sólopueden ser accedidos siguiendo sólo dos ramas delárbol.

[25]

Facultad de Economía, Empresa y Negocios

Equilibrio o Balance Para determinar si un nodo está equilibrado, se

calcula su factor de equilibrio. El factor deequilibrio de un árbol binario es la diferencia enaltura entre los subárboles izquierdo y derecho.

B =Hi – Hd Ejercicios: Calcular el equilibrio de los árboles de

la diapositiva 22

[26]

Facultad de Economía, Empresa y Negocios

Un árbol está equilibrado si su equilibrio o balancees cero y sus subárboles son también equilibrados.Dado que ésta definición ocurre raramente, seaplica una definición alternativa.

“Un árbol binario está equilibrado si la altura de sussubárboles difiere en no más de uno(su factor deequilibrio es -1,0,0+D) y sus subárboles sontambién equilibrados.

[27]

Facultad de Economía, Empresa y Negocios

[28]

Facultad de Economía, Empresa y Negocios

Bibliografíahttp://c.conclase.net/edd/?cap=006#iniciohttp://es.wikipedia.org/wiki/%C3%81rbol_(inform%C3%A1tica)http://www.algoritmia.net/articles.php?id=17Programación en C++, 1ª Edición, Luis JoyanesAguilar, capitulo 21