You are on page 1of 22

ALGORTMICA

Y ESTRUCTURA

DE DATOS II

ALGORTMICA Y
ESTRUCTURA

DE DATOS II

rboles
Introduccin
CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

Agenda

rboles.

rbol binario.

Recorrido de rboles.

rbol binario de bsqueda.

Resumen.

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

DE DATOS II

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles
rbol: Grafo conexo, simple y aciclico
Nivel 1
Raz
Nivel 2
Padres
Nivel 3

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

Hijos

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles

La raz de un rbol T se denota como Raz(T)


Un rbol T es un conjunto finito de cero o ms nodos V1 ,
, Vn tal que:
Hay un nodo llamado Raz V
1
Los nodos restantes V , , V son particionados en m
2
n
conjuntos disjuntos T1, ..,Tm tal que Ti es un rbol
Grado interno de V1 es cero
Si existe arista (a,b) entonces
a padre de b
b hijo de a

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles

Un hijo slo tiene un nodo padre


Dos nodos con el mismo nodo padre son nodos
hermanos
Se denominan nodos hojas a los nodos que no tienen
hijos
Si el grado externo de un nodo es cero, entonces ese
nodo es un nodo hoja

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles
Todo nodo que no es raz, ni terminal se conoce
como interior.
Nivel es el nmero de arcos que tienen que ser
recorridos para llegar a un determinado nodo. La raz
tiene nivel 1.
Altura del rbol es el mximo nmero de niveles de
todos los nodos del rbol.

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles
A

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

A es la raz del rbol.


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

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles binarios

rbol binario: Cada nodo tiene slo dos hijos (subrbol izquierdo y sub-rbol derecho).

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles binarios

Representacin de rboles binarios


A

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles binarios

Otra representacin: Cada nodo tiene una parte de


informacin y dos apuntadores.
A

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rboles binarios

Ejemplo
Considere la siguiente expresin algebraica:
E = (a-b)/((c*d)+e)
En la expresin E, los operandos del + son c*d y e.
/

c
CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

Recorrido de un rbol
Recorrido de un rbol
Proceso de desplazarse por todo el rbol visitando
cada nodo una sola vez
4

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

Recorrido de un rbol

Recorrido en Pre Orden 4 2 1 3 5


Visitar la raz
Recorrer rbol izquierdo en pre orden
Recorrer rbol derecho en pre orden
Recorrido en En Orden 1 2 3 4 5
Recorrer rbol izquierdo en en orden
Visitar la raz
Recorrer rbol derecho en en orden
Recorrido en Post Orden 1 3 2 5 4
Recorrer rbol izquierdo en post orden
Recorrer rbol derecho en post orden
Visitar la raz

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

Recorrido de un rbol. Ejemplo

Recorridos en rboles binarios

PreOrden: + * A B ^ / C D 3.5
InOrden: A * B + C / D ^ 3.5
PostOrden: A B * C D / 3.5 ^ +

3.5

NULO
NULO

NULO

NULO

NULO

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

NULO

NULO

NULO

NULO

NULO

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rbol binario de bsqueda

rbol binario de bsqueda


Es una estructura sobre la cual se pueden realizar
eficientemente las operaciones de bsqueda,
insercin y eliminacin.
Definicin formal:
Para todo nodo T del rbol debe cumplirse que
todos los valores de los nodos del subrbol
izquierdo de T, deben ser menores o iguales al
valor del nodo T. De forma similar, todos los
valores de los nodos del subrbol derecho de T,
deben ser mayores al valor del nodo T.

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

rbol binario de bsqueda.


Operaciones

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

Bsqueda secuencial: Usando una de las formas de


recorrido
Bsqueda Directa: Visita la raz y verifica si la llave
buscada es igual, caso contrario si est a la
izquierda (menor igual) o la derecha (mayor).
Inclusin de nodos: Siempre se realiza por una hoja.
Pasos:
Ubicar el lugar del nuevo nodo
Actualizar las aristas necesarias

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

rbol binario de bsqueda.


Operaciones
Incluir: Caballo

Dado el rbol

Becerro

Becerro

Abeja

DE DATOS II

Delfn
Conejo

Abeja

Delfn
Conejo
Caballo

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

rbol binario de bsqueda.


Operaciones

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

Eliminar un nodo puede ser mas o menos complejo


dependiendo de la posicin del nodo a eliminar.
La idea bsica es primero ubicar el nodo a eliminar,
retirarlo del rbol y realizar los ajustes necesarios en
las aristas para que el rbol contine siendo un rbol
binario de bsqueda.
En general, se trata de buscar un criterio de
eliminacin que pueda ser automatizado, es decir un
criterio nico que resuelva todos los casos de una
manera uniforme.

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

rbol binario de bsqueda.


Operaciones

DE DATOS II

SW

F
SE
C

TE
PG

D
PA

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

TA

rbol binario de bsqueda.


Eliminacin

Usando el rbol presentado antes, eliminar los


nodos:
A, D, W (Caso sencillo)
PG, SE (Caso menos sencillo)
C,TE (Caso menos complejo)
M (Caso ms complejo)

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

rbol binario de bsqueda

Ventajas sobre otras estructuras:


En un arreglo es posible localizar datos
eficientemente si los mismos estn ordenados, pero
las operaciones de insercin y eliminacin resultan
costosas.
En las listas, las operaciones de insercin y
eliminacin se pueden llevar a cabo con facilidad,
pero la bsqueda es una operacin costosa.
En un rbol binario de bsqueda, las operaciones
de bsqueda, insercin y eliminacin se pueden
llevara acabo con facilitada.

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

ALGORTMICA
Y ESTRUCTURA

DE DATOS II

Resumen

El rbol es un grafo conexo, simple y aciclico.


El grado de un rbol es determinado por el
mximo nmero de hijos de uno de sus nodos.
Los rboles binarios son aquellos que a lo ms
tienen 2 nodos hijos a excepcin de la raz.
El rbol binario de bsqueda es eficiente en la
bsqueda debido a su propiedad para su
construccin.

CARRERA DE

INGENIERA
INFORMTICA
Y DE SISTEMAS

You might also like