Вы находитесь на странице: 1из 6

Arturo Daz Prez

Anlisis y Complejidad de Algoritmos

Arboles Binarios
Arturo Daz Prez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Nmero de Nodos

Anlisis y Diseo de Algoritmos

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

Anlisis y Complejidad de Algoritmos

Arturo Daz Prez

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

Anlisis y Complejidad de Algoritmos

Arturo Daz Prez

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

Anlisis y Complejidad de Algoritmos

Arturo Daz Prez

Recorridos
n

T1

T2

Tk

F Si T es un rbol con raz n y subrboles T1, T2, . . . , Tk, entonces,


El listado pre-orden de los nodos de T es la raz n, seguida por los nodos de T1 en pre-orden, despus los nodos de T2 en preorden, y as, hasta los nodos de Tk en pre-orden. El listado post-orden de los nodos de T es los nodos de T1 en postorden, seguidos de los nodos de T2 en post-orden, y as hasta los nodos de Tk en post-orden, todos ellos seguidos de n. El listado en-orden de los nodos de T es los nodos de T1 en-orden, seguidos por n, seguidos por los nodos de T2, . . . , Tk, cada grupo de nodos en-orden.
Arboles-7

Anlisis y Diseo de Algoritmos

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

Anlisis y Diseo de Algoritmos

Arboles-8

Anlisis y Complejidad de Algoritmos

Arturo Daz Prez

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.

Anlisis y Diseo de Algoritmos

Arboles-9

Representacin de Arboles Binarios


1

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 . . .

Anlisis y Diseo de Algoritmos

Arboles-10

Anlisis y Complejidad de Algoritmos

Arturo Daz Prez

Profundidad y Nmero de Nodos


Si n es el nmero de nodos en un rbol binario y d es la profundidad, entonces, log n d /Ya que cada nodo tiene a lo ms 2 nodos internos, entonces, en cada profundidad i existen 2i nodos. As que el nmero total de nodos est acotado por
3 n 1 + 2 + 22 + 23 + . . . + 2d 3 Dado que

2i =
i =0

2 d +1 1 = 2 d +1 1 2 1

/As se obtiene que


3 n < 2d+1 3 log2 n < d + 1 3 log2 n d
Anlisis y Diseo de Algoritmos Arboles-11

Anlisis y Complejidad de Algoritmos

Вам также может понравиться