Professional Documents
Culture Documents
Definiciones:
C1 C2 C3
2.1.1 2.1.2
Partes de un rbol:
Raz: el nodo inicial o base de una estructura
en rbol.
Nodo hoja: el nodo de un rbol que no tiene
hijos.
Dos nodos son hermanos si tienen el mismo
padre.
Un camino de un nodo N1 a otro Nk se define
como la secuencia de nodos N1, N2,..., Nk tal
que Ni es el padre de Ni+1 para 1 <= i < k.
La longitud de este camino es el nmero de
aristas que lo forman, k-1.
Existe un camino de longitud cero entre cada
nodo y l mismo. En un rbol hay exactamente
un camino entre la raz y cada nodo.
Un nodo es antecesor de un segundo si se
encuentra en el camino de la raz a este.
Un nodo es descendiente de un segundo si se
encuentra en el camino de este a algn nodo
hoja.
La profundidad de un nodo es la longitud del
camino nico entre la raz y este.
La altura de un nodo es el camino ms largo
del nodo a una hoja. La altura de un rbol es
la altura de la raz.
Ejemplo:
A
B C D
E F G
H I
Raz: A
Hojas: E, H, I, G, D.
B es padre de E, F.
F es hijo de B y hermano de E.
Camino de B a I, BFI.
Longitud 2.
Profundidad de F 2 y altura 1.
Recorridos:
2 3 4
5 6 7
8 9 10
Recorrido preorden:
1-2-3-5-8-9-6-10-4-7
Reco
rrido postorden:
2-8-9-5-10-6-3-7-4-1
Rec
orrido inorden:
2-1-8-5-9-3-10-6-7-4
RELACIN CON GRAFOS:
G = (V, A)
1 1
6 5
1 1
5
2 3 4 2 3 4
5 5
3 6 4 2 3 4 2
5 6 5 6
6
_ +
12 3 4 1
Inorden: (12 3) * (4 + 1)
Montculos:
Ejemplo:
Valor mximo es 10 y se encuentra en la raz del
rbol.
Es un rbol binario completo ya que esta lleno hasta
el penltimo nivel y en el ltimo nivel tiene los nodos
a la izquierda.
10
8 9
4 5 6 7
2 3
rbol binario de bsqueda:
2 8
1 4
Estructura.
{Declaracin de tipos}
ELEMENTO = T;
NODO = registro de
Valor: ELEMENTO; {Genrico}
izq: puntero a NODO;
der: puntero a NODO;
fin registro;
/* Implementacin en C*/
struct nodo{
int valor;
struct nodo *izq;
struct nodo *der;
};
typedef struct nodo NODO;
Crear rbol.
/*Implementacin en C*/
/*separar memoria para un nodo*/
NODO *getnode()
{NODO *p;
p=(NODO*) malloc (sizeof (NODO));
return p;
}
/*Implementacin en C*/
/*Implementacin en C*/
/*Implementacin en C*/
2 8
1 4 7
K
k 2
1
K Z K
X
2 1
X Y Y Z
2 8 2 7
1 4 7
1 4 6,5 8
3 6,5
3
- Rotacin doble:
4 4
2 6 2 6
1 3 5 7 1 3 55 15
15 7
14 14
B C
2 6
1 3 5 14
7 15
rboles desplegados:
a
x
D
p p a
A
x A B C D
B C
Zig-zig: ambos, X y P, son hijos
izquierdos ( o derechos )
x
a
p
p D A
B
C a
x
A B C D