Sunteți pe pagina 1din 21

ESTRUCTURAS DE DATOS

Lineales

Tipo de
Estructuras
No lineales

Arreglos
Registros
Conjuntos
Pilas
Colas
Listas
Arboles
Grafos

ARBOL
Estructura jerrquica de datos homogneos aplicada sobre una
coleccin de elementos u objetos llamados nodos; uno de los
cuales es conocido como raz.
APLICACIONES:
Representacin de frmulas matemticas
Organizacin de informacin
Arbol Genealgico
Anlisis de circuitos electrnicos
2

6
3

8
4

ARBOL

TERMINOLOGIA:
Todo rbol que no es vaco, tiene un nico nodo raz.
Un nodo x es descendiente directo de un nodo Y, si
apuntado por el nodo Y.

X es

Un nodo X es antecesor (antepasado) directo de un nodo Y, si


X apunta al nodo Y.
Todo nodo que no es hoja se conoce con el nombre de
interior.

ARBOL

... TERMINOLOGIA:
Nodo padre:

Aquel nodo que tiene al menos un hijo.

Hermanos:

Los nodos que son hijos de un mismo nodo


son hermanos.

Hoja:

Todo nodo que no tiene ramificaciones (hijos),


se conoce con el nombre de nodo terminal,
nodo colgante u hoja. Su grado es 0.

Grado
de un nodo:

Nmero de descendientes directos de un


determinado nodo.

Grado del rbol:

Mximo grado de todos los nodos del rbol.

ARBOL

... TERMINOLOGIA:
Nivel de un nodo: Distancia desde la raz hasta otro nodo. A la
raz le corresponde el nivel 0. Se dice que
aquellos nodos con el mismo nmero de nivel
pertenecen a una misma generacin.
Altura del rbol:

Es la cantidad de niveles de un rbol.

Antepasados:

Nombre dado al nodo padre de un nodo, o al


padre de algn nodo antepasado. La raz es
antepasado de todos los nodos.

Descendiente:

Nombre dado al nodo hijo de otro nodo o al


hijo de otro descendiente. Todos los nodos son
descendientes del nodo raz.

Rama:

Apuntador hacia un nodo


5

ARBOL

... TERMINOLOGIA:
Subrbol izquierdo:

Todos los descendientes por la izquierda.


La raz del subrbol es el hijo izquierdo de
ese nodo.

Subrbol derecho:

Todos los descendientes por la derecha. La


raz del subrbol es el hijo derecho de ese
nodo.

Ruta de bsqueda:

Conjunto de elementos por los que se pasa


para llegar a un determinado nodo.

ARBOL

REPRESENTACION GRAFICA

A
B
D

C
F
L

H
K

A es la raz del rbol


B es hijo de A, C es hijo de A.
D es hijo de B, E es hijo de B;
A es padre de B y de C;
B es padre de D,E y F;
B y C son hermanos;
D,E y F son hermanos.
D,I,L,F,G y K son nodos terminales u
hojas.
A,B,C,H,E son nodos internos
El grado del nodo A es 2;
el grado del nodo B es 3;
el grado del nodo H es 1.
El nivel del nodo D es 2.
La altura del rbol es 4.

ARBOL BINARIO

RBOL BINARIO:
Es una estructura homognea formada por la concatenacin de un
elemento, llamado raz, con mximo dos rboles binarios disjuntos,
llamados subrbol izquierdo y derecho. Cada elemento puede estar
relacionado con 0, 1 o 2 subrboles.
FORMULAS PARA ARBOLES BINARIOS
El nmero mximo de nodos en el nivel x es igual a 2x.
El nmero mximo de nodos por encima del nivel x es igual a 2X-1.
El nmero mximo de nodos si la altura es h ser 2h-1..
No. Mximo de nodos en el nivel 2 es 4.
No. Mximo de nodos por encima del nivel 2 es 3.
No. Mximo de nodos para AB de altura 3 es 7

8
4

9
8

ARBOL BINARIO

RBOL BINARIO DE BSQUEDA:


Es un rbol binario ordenado de forma que para un nodo, todos
aquellos nodos apuntados por la izquierda contienen un valor ms
pequeo; para un nodo, todos aquellos nodos apuntados por la
derecha contienen un valor ms grande.

Restriccin: no hay elementos repetidos.


Es un rbol ordenado de grado 2. Es decir, un rbol ordenado en el
que cada nodo puede tener como mximo 2 subrboles.
OPERACIONES:
- Crear un rbol
- Suprimir un nodo

- Insertar un nodo
- Bsquedas

REPRESENTACIN:
- Memoria dinmica
9

ARBOL BINARIO

REPRESENTACION EN MEMORIA DINAMICA


Info

Izquierda

Derecha

Raz

5
2
1

6
3

public class Nodo


{
tipodato dato;
Nodo izqda;
Nodo drcha;
public Nodo (tipodato x)
{ dato = x;
izqda=drcha=null;
}
public Nodo( )
{ dato = null;

izqda=drcha=null;
}
}

10

ARBOL BINARIO

RECORRIDO DE UN ARBOL:
Un recorrido de un rbol binario requiere que cada nodo del rbol
sea procesado (visitado) una vez y solo una en una secuencia
predeterminada.

Dado un rbol binario que consta de una raz, un subrbol


izquierdo y un subrbol derecho, se pueden definir tres tipos de
secuencia de recorrido:

Preorden (Raz Izquierdo Derecho)


Inorden (Izquierdo Raz Derecho)
Postorden (Izquierdo Derecho Raz)

11

ARBOL BINARIO

RECORRIDO PREORDEN
1. Visitar la raz del rbol o subrbol
2. Recorrer en PREORDEN el subrbol izquierdo.
3. Recorrer en PREORDEN el subrbol derecho.
Ejemplo: 6,3,2,4,8,7,10

6
3

10

APLICACION: Arboles de expresiones (notacin prefija)


12

ARBOL BINARIO

RECORRIDO INORDEN:
1. Recorrer en INORDEN el subrbol izquierdo.
2. Visitar la raz del rbol o subrbol
3. Recorrer en INORDEN el subrbol derecho.
6

Ejemplo: 2,3,4,6,7,8,10
3
2

10

APLICACION: En RBOLES BINARIOS DE BSQUEDA


accesa (despliega) los nodos en forma ordenada.
13

ARBOL BINARIO

RECORRIDO POSTORDEN:
1. Recorrer en POSTORDEN el subrbol izquierdo.
2. Recorrer en POSTORDEN el subrbol derecho.
2. Visitar la raz del rbol o subrbol
6

Ejemplo: 2,4,3,7,10,8,6
3
2

8
4

10

APLICACION: rboles de expresiones; eliminacin de todos los


nodos de un rbol.
14

ARBOL BINARIO DE BUSQUEDA

INSERCIN
1. Comparar la clave a insertar con la raz del rbol. Si es mayor,
debe avanzarse hacia el subrbol derecho. Si es menor, debe
avanzarse hacia el subrbol izquierdo.
2. Repetir sucesivamente hasta que el subrbol derecho o el
izquierdo est vaco; o hasta que se detecte que se trata de una
clave repetida (no se inserta).
Siempre se inserta un nuevo nodo como nodo hoja del rbol.
El orden de insercin de los elementos determina la forma del
rbol.
Ejercicio: Insertar los siguientes elementos:
1) C,A,D,B,E
2) A,B,C,D,E
3) A,C,B,E,D
www.cs.armstrong.edu/liang/animation
15

ARBOL BINARIO DE BUSQUEDA

B
A

C
E

C
B

D
16

ARBOL BINARIO DE BUSQUEDA

ELIMINACIN
CASOS:
1. Borrar un nodo hoja: El nodo padre apunta a NULL por la rama que tiene
al hijo a borrar y se libera el nodo.
2. Borrar nodo con un hijo: El nodo padre apunta al hijo del nodo a borrar y
se libera el nodo.
3. Borrar nodo con 2 hijos:
Forma a: Buscar el elemento menor entre los mayores (sucesor) del
nodo a borrar.
Forma b: Buscar el elemento mayor entre los menores (predecesor)
del nodo a borrar.
4. Sustituir el valor del nodo a borrar por su sucesor o su predecesor y se
libera ese nodo. El sucesor o predecesor siempre tendrn uno o cero hijos.

SUCESOR:

Se encuentra en el subrbol derecho, en el extremo de


ms a la izquierda del rbol.
PREDECESOR: Se encuentra en el subrbol izquierdo, en el extremo de
ms a la derecha del rbol.
17

ARBOL BINARIO

ARBOL BINARIO COMPLETO:


Es un rbol en el que todos sus nodos, excepto los del ltimo
nivel, tienen dos hijos: el subrbol izquierdo y el subrbol derecho
NUMERO DE NODOS
EN UN ARBOL BINARIO = 2h - 1
COMPLETO

h=Altura

EJEMPLO: Un rbol binario completo de altura 5 tendr 31 nodos.

18

ARBOLES DE EXPRESIONES

RBOL DE EXPRESIONES
Arbol binario que almacena operadores y operandos que
conforman una expresin.
Su uso principal es el facilitar la evaluacin de expresiones.
*
+

(5+1)*(3-2)
19

ARBOL DE EXPRESIONES

EVALUACION DE EXPRESIONES:
PREORDEN: + , / , 12 , - , 3 , * , 6 , 1 , * , 3 , - , * , 4 , 2 , 5

6
-3

*
3

*
6

-4

12

1
20

ARBOL DE EXPRESIONES

EVALUACION DE EXPRESIONES:
POSTORDEN: 12 , 3 , 6 , 1 , * , - , / , 3 , 4 , 2 , * , 5 , - , * , +

6
-3

*
3

*
6

-4

12

1
21

S-ar putea să vă placă și