Unidad 5 est. dat estruc. no lineal

5
ESTRUCTURAS DE DATOS UNIDAD 5 ESTRUCTURAS NO LINEALES ESTATICAS Y DINAMICAS CONCEPTO DE ARBOL El Árbol es una estructura de datos no lineal ya que a cada uno de sus elementos pueden seguirle varios. Un árbol es una estructura de almacenamiento de tipo jerárquico que consiste en una colección de elementos llamados nodos en donde el primero de ellos se denomina raíz. Un árbol tiene un número finito de elementos que a la vez forman sub- árboles. Dentro de las aplicaciones más importantes de los arboles se encuentran la representación de complejas fórmulas matemáticas, la organización de información que requiere numerosas búsquedas y la manipulación de la información en el campo de la inteligencia artificial. CLASIFICACION DE ARBOLES Los árboles se pueden clasificar de muchas formas. El criterio más importante para esto es el número máximo de hijos que cada nodo del árbol puede tener. A este valor se le denomina orden. a) Árbol general: Es aquel que no tiene ningún límite en lo que respecta al número de hijos que puede tener cada nodo. b) Árbol binario: Son de particular importancia en el área de la informática y son aquellos en los que cada nodo puede tener como máximo dos hijos. c) Árbol equilibrado o balanceado: Es aquel en el que todas las hojas se encuentran en el mismo nivel o como máximo con solo un nivel de diferencia entre ellas. d) Árbol enhebrado: Es aquel en el que cada nodo puede guardar la liga o ligas a otros nodos. Son de dos tipos: ARBOL ENHEBRADO A LA DERECHA. Este tipo de árbol tiene una liga a la derecha que apunta a un nodo sucesor. ARBOL ENHEBRADO A LA IZQUIERDA. Estos árboles tienen una liga a la izquierda que apunta al nodo predecesor. OPERACIONES BASICAS SOBRE ARBOLES BINARIOS 1

Transcript of Unidad 5 est. dat estruc. no lineal

Page 1: Unidad 5 est. dat estruc. no lineal

ESTRUCTURAS DE DATOS

UNIDAD 5 ESTRUCTURAS NO LINEALES ESTATICAS Y DINAMICAS

CONCEPTO DE ARBOL

El Árbol es una estructura de datos no lineal ya que a cada uno de sus elementos pueden seguirle varios. Un árbol es una estructura de almacenamiento de tipo jerárquico que consiste en una colección de elementos llamados nodos en donde el primero de ellos se denomina raíz. Un árbol tiene un número finito de elementos que a la vez forman sub-árboles.

Dentro de las aplicaciones más importantes de los arboles se encuentran la representación de complejas fórmulas matemáticas, la organización de información que requiere numerosas búsquedas y la manipulación de la información en el campo de la inteligencia artificial.

CLASIFICACION DE ARBOLES

Los árboles se pueden clasificar de muchas formas. El criterio más importante para esto es el número máximo de hijos que cada nodo del árbol puede tener. A este valor se le denomina orden.

a) Árbol general: Es aquel que no tiene ningún límite en lo que respecta al número de hijos que puede tener cada nodo.

b) Árbol binario: Son de particular importancia en el área de la informática y son aquellos en los que cada nodo puede tener como máximo dos hijos.

c) Árbol equilibrado o balanceado: Es aquel en el que todas las hojas se encuentran en el mismo nivel o como máximo con solo un nivel de diferencia entre ellas.

d) Árbol enhebrado: Es aquel en el que cada nodo puede guardar la liga o ligas a otros nodos. Son de dos tipos: ARBOL ENHEBRADO A LA DERECHA. Este tipo de árbol tiene una liga a la derecha que apunta a un nodo sucesor. ARBOL ENHEBRADO A LA IZQUIERDA. Estos árboles tienen una liga a la izquierda que apunta al nodo predecesor.

OPERACIONES BASICAS SOBRE ARBOLES BINARIOS

Operaciones básicas o primitivas de un árbol son:

a) Creación del árbol.b) Inserción de un nodo.c) Eliminación de un nodo.d) Recorrido del árbol.e) Balanceo.

1

Page 2: Unidad 5 est. dat estruc. no lineal

ESTRUCTURAS DE DATOS

ARBOL BINARIO DE BUSQUEDA

Es un tipo de árbol binario en el cual se pueden realizar de manera más eficiente las operaciones básicas. La característica de este árbol es que todos los elementos menores a un nodo deben de estar situados en el sub-árbol izquierdo y los elementos mayores o iguales en el sub-árbol derecho.

Árbol Binario de Búsqueda

10, 5, 9, 7, 2, 12, 10

RECORRIDO DE UN ARBOL

Se denomina recorrido de un árbol al proceso que permite acceder solo una vez a cada uno de los nodos del árbol, existen dos formas de recorrer un árbol:

Nivel 0

Nivel 1

Nivel 2

a) Recorrido por anchura: Es aquel en donde los nodos se van accesando por orden de nivel, es decir el primer nodo (raíz) seria del nivel 0, los siguientes dos nodos, del nivel 1y así sucesivamente.

2

10

512

29

7

10

10

5 12

2 7 11

14

Page 3: Unidad 5 est. dat estruc. no lineal

ESTRUCTURAS DE DATOS

b) Recorrido por profundidad: En este tipo de recorrido existen tres algoritmos conocidos. Pre-orden, in-orden y pos-orden. El prefijo de cada nombre indica el momento en el que se accesa la información del nodo, es decir; antes, en medio y después.Los algoritmos son los siguientes:

PRE-ORDEN:Acceso al nodo.Recorrido en pre-orden, por subarbol izquierdo.Recorrido en pre-orden, por subarbol derecho.== 10, 5, 2, 7, 12, 11, 14.

IN-ORDEN:Recorrido in-orden, por subarbol izquierdo.Acceso al nodo.Recorrido in-orden, por subarbol derecho.== 2, 5, 7, 10, 11, 12, 14.

POST-ORDEN:Recorrido en post-orden, por subarbol izquierdo.Recorrido en post-orden, por subarbol derecho.Acceso al nodo.== 2, 7, 5, 11, 14, 12, 10.

ELIMINACION DE UN NODO

La eliminación de un elemento en el árbol debe conservar su orden. Se deben de tomar en cuenta tres diferentes casos según la posición del elemento o nodo que se va a eliminar dentro del árbol.

1. Si el nodo es una hoja, simplemente se suprime.2. Si el nodo tiene un solo hijo, ese hijo sustituye al nodo.3. Si el nodo tiene dos hijos existen dos opciones:

a) Se sustituye por el elemento inferior situado lo mas a la derecha posible de su hijo izquierdo.

b) Se sustituye por el elemento inferior situado lo mas a la izquierda posible de su hijo derecho.

Para poder realizar las acciones que eliminen un nodo será necesario conocer la siguiente información del nodo a eliminar:

1. Conocer su posición en el árbol.2. Conocer la referencia de su padre.3. Identificar si el nodo tiene hijos, si son 1 o 2 , si es 1 solo hijo saber si es el hijo izquierdo o

derecho.

3

Page 4: Unidad 5 est. dat estruc. no lineal

ESTRUCTURAS DE DATOS

1) Hoja

2) Con un hijo

3) Con dos hijosa) Método a la derecha

4

1 20

4

49

99

12

1 20

4

49

99

22

2 27

4

49

9912 42

12

2 27

4

49

9942

5

3 9

8

12

4 6

5

4 9

8

12

6

Page 5: Unidad 5 est. dat estruc. no lineal

ESTRUCTURAS DE DATOS

b) Método a la izquierda

5

2

9

7 18

16

4

6 10 2

9

6 18

16

4

10