Beruflich Dokumente
Kultur Dokumente
Arboles Binarios
Arturo Daz Prez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Nmero de Nodos
Arboles-1
Arbol
F Un rbol es una coleccin de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raz, los cuales mantienen una relacin (parentezco) que define una estructura jerrquica entre ellos. F De manera formal, un rbol se puede definir en forma recursiva mediante las reglas siguientes:
El conjunto vaco de nodos es un rbol, llamado nulo o vaco. Un nodo es un rbol, el cual es, asimismo, la raz del rbol. Si n, es un nodo y T1, T2, . . . , Tk son rboles con races n1, n2, . . . , nk, respectivamente, se puede construir un nuevo rbol haciendo n el padre de los nodos n1, n2, . . . , nk. /En este rbol n es la raz y T1, T2, . . . , Tk son los subrboles de la raz. Los nodos n1, n2, . . . , nk se conocen como los hijos del nodo n.
Anlisis y Diseo de Algoritmos Arboles-2
Ejemplo
Si n, es un nodo y T1, T2, . . . , Tk son rboles con races n1, n2, . . . , nk, respectivamente, se puede construir un nuevo rbol haciendo n el padre de los nodos n1, n2, . . . , nk. /En este rbol n es la raz y T1, T2, . . . , Tk son los subrboles de la raz. Los nodos n1, n2, . . . , nk se conocen como los hijos del nodo n.
n
n1
nk
T1
Anlisis y Diseo de Algoritmos
T2
Tk
Arboles-3
Algunas Definiciones
F Un camino de un nodo n1 a un nodo nk es una secuencia de nodos n1, n2, ... , nk de tal manera que ni es padre de ni+1 para i = 1, 2, . . . , k-1. F La longitud de un camino es uno menos que el nmero de nodos en el camino.
Existe un camino de longitud 0 de un nodo a s mismo.
F Si existe un camino de un nodo a a un nodo b, entonces se dice que a es un ancestro de b y que b es un descendiente de a. F Un ancestro o descendiente de un nodo diferente de s mismo se dice que es un ancestro o descendiente propio, respectivamente.
Anlisis y Diseo de Algoritmos Arboles-4
Algunas Definiciones
F En un rbol la raz es el nico nodo que no tiene ancestros propios. F Un nodo sin descendientes propios se conoce como una hoja. F Un subrbol de un rbol es un nodo junto con todos sus descendientes. F El peso de un nodo en un rbol es la longitud del camino ms largo del nodo a una hoja. F El peso de un rbol es el peso de la raz. F La profundidad de un nodo es la longitud del camino nico de la raz al nodo. F La profundidad de un rbol es la profundidad de la hoja ms profunda. Arboles-5 Anlisis y Diseo de Algoritmos
Recorridos
F Al visitar los nodos de un rbol existen algunas maneras tiles en las que se pueden ordenar sistemticamente los nodos de un rbol. F Los ordenamientos ms importantes son llamados: preorden, post-orden y en-orden y se definen recursivamente como sigue:
Si un rbol T es nulo, entonces, la lista vaca es el listado preorden, post-orden y en-orden del rbol T. Si T consiste de un slo nodo n, entonces, n es el listado preorden, post-orden y en-orden del rbol T.
Anlisis y Diseo de Algoritmos Arboles-6
Recorridos
n
T1
T2
Tk
Arboles Binarios
F Un rbol binario es un rbol nulo o un rbol cuyos nodos tienen a lo sumo dos hijos.
Los hijos de un rbol binario se pueden denotar como hijo izquierdo e hijo derecho.
1 2 3 5 a) 4 3 5 b)
1 2 4
Arboles-8
Arboles Binarios
F Un rbol binario se dice que es completo si cada nodo es una hoja o tiene dos hijos. F Un rbol binario completo se dice que est balanceado si al numerar sus nodos por profundidad desde la raz hasta las hojas, de izquierda a derecha, al encontrar la primera hoja todos los nodos numerados siguientes son hojas.
Arboles-9
10
11
12
13
14
15
16
17
18
19
1 T
10
11 12
13
14
15
16
17 18
19 20
21 22
23 . . .
Arboles-10
2i =
i =0
2 d +1 1 = 2 d +1 1 2 1