Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARBOLES
ARBOLES
CAPTULO 6
RBOLES
Propiedades
E
G
D
F
I
Ejemplo
A es padre de B
B y C son hermanos
B, D, F, C, H son;
nodos interiores
El grado de nodo A es 2
Nivel del nodo A
es 1 (def)
Nivel B es 2
LCI = ni * i
i=1
Ejemplo
LCI = ni * i
i=1
B
La LCI del rbol anterior es: LCI= 1*1 + 2*2 + 5*3 + 4*4 = 36
h=4
MEDIA DE LA LONGITUD DE
CAMINO INTERNO (LCIM)
LCIM = 36 / 12 = 3
Ejemplo
El nmero de nodos especiales de este rbol es 25,
del rbol de grado 3.
Definicin LCE
LCE = nei * i
i=2
h+1
LCE = nei * i
i=2
Ejemplo
RBOLES BINARIOS
Un rbol ordenado es aquel en el cual la
representacin de una
expresin algebraica
rbol genealgico
Similares
Dos rboles binarios son similares cuando sus
Equivalentes
Los rboles binarios equivalentes se definen
RBOLES BINARIOS
COMPLETOS
Se define un rbol binario completo como un
RBOLES BINARIOS
COMPLETOS
Cabe aclarar que existen algunos autores que
REPRESENTACIN DE RBOLES
BINARIOS EN MEMORIA.
INFO
DER
IZQ
INFO
DER
Ejemplo
Programacin OO
La clase rbol
rbol
}Nombre de la Clase
}Atributos
Mtodos
RECORRIDOS EN RBOLES
BINARIOS.
Recorridos
Recorrido en preorden
Recorrido en inorden
Recorrido en postorden
Visitar la raz
Recorrer el subrbol izquierdo
Recorrer el subrbol derecho
Ejemplos
ALGORITMO PREORDEN
PREORDEN(NODO)
{El algoritmo realiza el recorrido preorden en un rbol
binario. NODO es un dato de tipo PUNTERO}
{INFO, IZQ y DER son campos del registro NODO. INFO es
una o ms variables de informacin del nodo, IZQ y DER
son variables de tipo puntero}
Si NODO = NILL entonces
Visitar el NODO
{Escribir la informacin NODO^.INFO}
Fin-si
Fin-algoritmo
ALGORITMO INORDEN
INORDEN(NODO)
{El algoritmo realiza el recorrido inorden en un rbol binario. NODO es un
dato de tipo PUNTERO}
{INFO, IZQ y DER son campos del registro NODO. INFO es una o ms
variables de informacin del nodo, IZQ y DER son variables de tipo
puntero}
Si NODO = NILL entonces
INORDEN(NODO^.IZQ) {Llamada recursiva con la rama izquierda}
Visitar el NODO {Escribir la informacin NODO^.INFO}
INORDEN(NODO^.DER) {Llamada recursiva con la rama derecha}
Fin-si
Fin-algoritmo
ALGORITMO POSTORDEN
POSTORDEN(NODO)
{El algoritmo realiza el recorrido postorden en un rbol binario.
NODO es un dato de tipo PUNTERO}
{INFO, IZQ y DER son campos del registro NODO. INFO es una o
ms variables de informacin del nodo, IZQ y DER son variables de
tipo puntero}
Si NODO = NILL entonces
CARGA (NODO)
{ El algoritmo carga los nodos de un rbol binario en memoria. NODO es una
variable de tipo puntero. La primera vez NODO es creado en el programa
principal}
Leer informacin(INFOR)
Hacer NODO^.INFO INFOR
Escribir Existe nodo por la izquierda ?
Leer respuesta
Si respuesta == si entonces
RBOLES BINARIOS DE
BSQUEDA.
87
140
43
99
22
65
93
130
135
56
Algoritmo de Bsqueda
Algoritmo de Bsueda
BSQUEDA1 (NODO, INFOR)
{El algoritmo localiza un nodo en un rbol binario de bsqueda. NODO es
una variable de tipo puntero que apunta a la raz del rbol. INFOR es una
variable que contiene la informacin que se desea localizar en el rbol.}
Si NODO = NILL entonces
Si INFOR < NODO^.INFO entonces
BSQUEDA (NODO^.IZQ, INFOR) {Llamada recursiva}
Si no
Si INFOR > NODO^.INFO entonces
BSQUEDA (NODO^.DER, INFOR) {Llamada recursiva}
Sino
Escribir El nodo se encuentra en el rbol
Fin Si
Fin Si
Si no
Escribir El nodo no se encuentra en el rbol
Fin si
Fin del Algoritmo
Ejemplos
Ejemplo 2
localiza la clave 123
INSERCIN EN UN RBOL
BINARIO DE BSQUEDA.
BORRADO EN UN RBOL
BINARIO DE BSQUEDA.
RBOLES BALANCEADOS.
60
40
90
20
45
75
47
15
68
40
25