Está en la página 1de 21

ESTRUCTURAS DE DATOS

Lineales

Pilas
Filas
Listas

Tipo de
Estructuras
No lineales 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
3
Arbol Genealgico
Anlisis de circuitos electrnicos
2
4

6
8
7

ARBOL

TERMINOLOGIA:
Todo rbol que no es vaco, tiene un nico nodo raz.
Un nodo x es descendiente directo de un nodo Y, si X
es apuntado por el nodo Y.
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:
nodo

Los nodos que son hijos de un mismo


son hermanos.

Hoja:
(hijos),
terminal,
es 0.

Todo nodo que no tiene ramificaciones


se conoce con el nombre de nodo
nodo colgante u hoja. Su grado

Grado
de un nodo:

Nmero de descendientes directos de un


determinado nodo.

Grado del rbol:


nodos del rbol.

Mximo grado de todos los


4

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:
rbol.
Antepasados:
o al
es

Es la cantidad de niveles de un

Nombre dado al nodo padre de un nodo,


padre de algn nodo antepasado. La raz
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

ARBOL

... TERMINOLOGIA:
Subrbol izquierdo:
la izquierda.
hijo izquierdo de

Todos los descendientes por


La raz del subrbol es el
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
I

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,
F 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.
7

ARBOL BINARIO

ARBOL 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.
h
El nmero mximo de nodos si la altura es h ser 26
-1..
No. Mximo de nodos en el nivel 2 es 4.
No. Mximo de nodos por encima del nivel 2
es 3.
3
8
No. Mximo de nodos para AB de altura 3 es
7

9
8

ARBOL BINARIO

REPRESENTACION EN MEMORIA
DINAMICA

Izquierda

Info

Derecha

Ra
z
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;
}
}

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)
La mayora de las aplicaciones binarias son bastante
sensibles al orden en que se visitan los nodos, de
manera que ser preciso elegir cuidadosamente el tipo
de recorrido.
10

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

APLICACION:
prefija)

10

Arboles de expresiones (notacin


11

ARBOL BINARIO

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

6
3

10

APLICACION: En ARBOLES BINARIOS DE BUSQUEDA


accesa (despliega) los nodos en forma ordenada.
12

ARBOL BINARIO

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

6
3

10

APLICACION: Arboles de expresiones; eliminacin de


todos los nodos de un rbol.
13

ARBOL BINARIO

ARBOL BINARIO DE BUSQUEDA:


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
nodo
- Suprimir un nodo
REPRESENTACION:
- Memoria dinmica

- Insertar un
- Bsquedas

14

ARBOL BINARIO DE BUSQUEDA

INSERCION
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

D
B

C
E

C
B

D
16

ARBOL BINARIO DE BUSQUEDA

ELIMINACION
CASOS:
1. Borrar un nodo hoja: El nodo padre apunta a NIL 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

ARBOL DE EXPRESION:
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
8

6
-3

*
3

*
6

-4

12

1
20

ARBOL DE EXPRESIONES

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

6
-3

*
3

*
6

-4

12

1
21

También podría gustarte