Escolar Documentos
Profissional Documentos
Cultura Documentos
Estructura de Datos
29 de Abril de 2014
1/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Contenido
1 Introducci
on
2 Estructura general
3 Operaciones en un
arbol
4 Recorrido de los
arboles
5 Implementaciones de
arboles
6 Tipos de
arboles
2/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Introduccion
Arboles
geneal
ogicos.
Organigramas.
3/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Ejemplos
4/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Aplicaciones
5/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Generalidades
6/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Caractersticas de un nodo
Al nodo base, que es u
nico, se le llamara raz. Por convencion se
representa en la parte superior del arbol.
Un nodo i es antecesor de un nodo j si forman parte del mismo
camino y el nodo i se encuentra en un nivel anterior que j. Al nodo
j se le llama descendente de i.
Se denomina grado de un nodo al n
umero de hijos de un nodo.
7/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Caractersticas de un nodo
8/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Caractersticas de un arbol
9/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Caractersticas de un arbol
10/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Caractersticas de un arbol
11/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Estructura general
Caractersticas de un arbol
12/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Operaciones en un arbol
Operaciones que se pueden efectuar con arboles:
Padre(n, A): Devuelve el padre del nodo n en el arbol A. Si no tiene
padre (si es raz) debe devolver NULL.
Hijo izq(n, A): Devuelve el hijo mas a la izquierda del nodo n en el
arbol A, y devuelve un NULL si n es una hoja.
Hermano Der(n, A): Devuelve el hermano a la derecha del nodo n
en el arbol A.
Etiqueta(n, A): Devuelve la etiqueta del nodo n en el arbol A.
Crea i(v , A1 , A2 , . . ., Ak ): crea un nuevo nodo r con etiqueta v y le
asigna I hijos que son las races de los arboles A1, A2 , . . . , Ai en ese
orden desde la izquierda. Se devuelve el arbol con raz r .
Raiz(A): Devuelve el nodo raz del arbol A, o NULL si A es el arbol
nulo.
Anula(A): convierte a A en el arbol nulo.
Carlos Contreras Bolton Estructura de Datos
13/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
14/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
El recorrido en preorden de
A esta formado por la raz
n0 , seguida de los nodos de
A1 en orden previo, los
nodos de A2 en orden
previo, y as sucesivamente
hasta los nodos de Ak en
orden previo.
15/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
El recorrido en inorden de
A esta formado por los
nodos de A1 en orden
simetrico, seguidos de n0 , y
de los nodos de A2 , . . . , Ak
todos ellos en orden
simetrico.
16/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
El recorrido en postorden
de A esta formado por los
nodos de A1 en orden
posterior, los nodos de A2
en orden posterior, y
as sucesivamente hasta los
nodos de Ak en orden
posterior, para finalizar con
n0 .
17/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
18/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Puntero al padre.
Listas de hijos.
Hijo mas izquierdo y hermano derecho.
19/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante Arreglos
Sea L un arreglo, en
la cual cada entrada
L[i] constituya un
apuntador o un
cursor al padre del
nodo I .
La raz de A se
distingue como un
apuntador a nulo.
20/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante Arreglos
Algunos Problemas:
Un camino ascendente se puede recorrer en un tiempo
proporcional al numero de nodos del camino.
No facilita las operaciones que requieren informacion de
los hijos.
No especifica el orden de los hijos de un nodo.
21/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante listas de hijos
22/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante listas de hijos
23/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante listas de hijos
Declaracion de un Arbol
a Lista de Arreglos:
s t r u c t Arbol {
Tipo Dato e t i q u e t a ;
i n t L [N ] ;
}
s t r u c t Arbol A[N ] ;
24/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante listas de hijos
Declaracion de un Arbol
a Lista enlazadas:
s t r u c t Arbol {
Tipo Dato e t i q u e t a ;
c a b e c e r a t L ;
}
s t r u c t Arbol A[N ] ;
25/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Mediante listas de hijos
Declaracion de un Arbol
mediante Listas enlazadas:
s t r u c t Arbol {
Tipo Dato e t i q u e t a
c a b e c e r a t L ;
s t r u c t Arbol sgte ;
}
s t r u c t Arbol Raiz ;
26/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Hijo mas izquierdo y hermano derecho
27/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Implementaciones de arboles
Hijo mas izquierdo y hermano derecho
28/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Tipos de arboles
29/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Tipos de arboles
AVL Adelson, Velskii y Landis. Para todo nodo, se
tiene que la altura de sus subarboles difiere a lo
mas en 1.
Heap El montculo binario es un AB semicompleto,
donde la raz es el menor de los elementos y sus
hijos son mayores que el, o la raz es el mayor de
los elementos y sus hijos son menores que el.
2-3 Los nodos son de grado 2 o 3. Los nodos deben
tener 2 hijos si tiene 1 elemento o 3 hijos si tiene
2 elementos. Las hojas tienen la misma longitud
respecto de la raz.
30/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Resumen de conceptos
Ejemplo arbol
Obtener:
1 Longitud del camino < a, b, e >.
2 Longitud del camino < a >.
3 Indique el camino de < c > a < h >.
4 Profundidad de < a >.
5 Profundidad de < h >.
6 Altura del
arbol.
7 Altura de < f >.
8 Grado de < b >.
9 Grado del
arbol.
10 Peso del
arbol.
31/32
Introducci
on Estructura general Operaciones en un
arbol Recorrido de los
arboles Implementaciones de
arboles Tipos de
arbol
Resumen de conceptos
Ejemplo arbol
Obtener:
1 Longitud del camino < a, b, e >. 2
2 Longitud del camino < a >. 0
3 Indique el camino de < c > a < h >. c, f, h
4 Profundidad de < a >. 0
5 Profundidad de < h >. 3
6 Altura del
arbol. 3
7 Altura de < f >. 1
8 Grado de < b >. 2
9 Grado del
arbol. 2
10 Peso del
arbol. 8
32/32