Arboles binarios

of 20 /20
ARBOLES BINARIOS

Embed Size (px)

Transcript of Arboles binarios

ARBOLES BINARIOS

A

B

C

D

E

F

G

H

I

Se define un rbol binario como un conjunto finito de elementos (nodos) que bien esta vaco o esta formado por una raz con dos arboles binarios disjuntos, es decir, dos descendientes directos llamados subrbol izquierdo y subrbol derecho. Los rboles binarios (tambin llamados de grado 2 ) tienen una especial importancia. Las aplicaciones de los arboles binarios son muy variadas ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos puntos.

rbol binario de bsqueda. Los rboles binarios se utilizan frecuentemente para representar conjuntos de datos cuyos elementos se identifican por una clave nica. Si el rbol est organizado de tal manera que la clave de cada nodo es mayor que todas las claves su subrbol izquierdo, y menor que todas las claves del subrbol derecho se dice que este rbol es un rbol binario de bsqueda.

OPERACIONES BSICAS Una tarea muy comn a realizar con un rbol es ejecutar una determinada operacin con cada uno de los elementos del rbol. Esta operacin se considera entonces como un parmetro de una tarea ms general que es la visita de todos los nodos o, como se denomina usualmente, del recorrido del rbol. Si se considera la tarea como un proceso secuencial, entonces los nodos individuales se visitan en un orden especfico, y pueden considerarse como organizados segn una estructura lineal. De hecho, se simplifica considerablemente la descripcin de muchos algoritmos si puede hablarse del proceso del siguiente elemento en el rbol, segn un cierto orden subyacente. Hay dos formas bsicas de recorrer un rbol: El recorrido en amplitud y el recorrido en profundidad.

RECORRIDO DE UN ARBOL BINARIO Recorrido en amplitud Es aquel recorrido que recorre el rbol por niveles, en el ltimo ejemplo sera:

12 - 8,17 - 5,9,15

RECORRIDO EN PROFUNDIDAD Recorre el rbol por subrboles. Hay tres Preorden, orden central y postorden. Hay tres formas: en inorden, preorden y postorden. Cada una de ellas tiene una secuencia distinta para analizar el rbol como se puede ver a continuacin:

INORDEN Recorrer el subrbol izquierdo en inorden. Examinar la raz. Recorrer el subrbol derecho en inorden.

PREORDEN Examinar la raz. Recorrer el subrbol izquierdo en preorden. recorrer el subrbol derecho en preorden.

POSTORDEN Recorrer el subrbol izquierdo en postorden. Recorrer el subrbol derecho en postorden. Examinar la raz.

A continuacin se muestra un ejemplo de los diferentes recorridos en un rbol binario. INORDEN: GDBHEIACJKF PREORDEN: ABDGEHICFJK POSTORDEN: GDHIEBKJFCA

Clasificacin de Arboles Binarios RBOL BINARIO DISTINTO Se dice que dos rboles binarios son distintos cuando sus estructuras son diferentes.

RBOL BINARIO SIMILAR Dos arboles binarios son similares cuando sus estructuras son idnticas, pero la informacin que contienen sus nodos es diferente.

RBOL BINARIO EQUIVALENTE Son aquellos arboles que son similares y que adems los nodos contienen la misma informacin.

RBOL BINARIO COMPLETO Son aquellos arboles en los que todos sus nodos excepto los del ultimo nivel, tiene dos hijos; el subrbol izquierdo y el subrbol derecho.

TERMINOLOGA Hijo: X es hijo de Y, s y solo s el nodo X es apuntado por Y. Tambin se dice que X es descendiente directo de Y. Padre: X es padre de Y s y solo s el nodo X apunta a Y. Tambin se dice que X es antecesor de Y. Hermano: Dos nodos sern hermanos si son descendientes directos de un mismo nodo. Hoja: Se le llama hoja o terminal a aquellos nodos que no tienen ramificaciones (hijos). Nodo anterior: Es un nodo que no es raz ni terminal.

Grado: Es el nmero de descendientes directos de un determinado nodo. Grado de un rbol: Es el mximo grado de todos los nodos del rbol. Nivel: Es el nmero de arcos que deben ser recorridos para llegar a un determinado nodo. Por definicin la raz tiene nivel 1. Altura: Es el mximo nmero de niveles de todos los nodos del rbol. Peso: Es el nmero de nodos del rbol sin contar la raz. Longitud de camino: Es el nmero de arcos que deben ser recorridos para llegar desde la raz al nodo X. Por definicin la raz tiene longitud de camino 1, y sus descendientes directos longitud de camino 2 y as sucesivamente.

RBOLES BINARIOS

En cualquier nivel n, un rbol binario puede contener de 1 a 2 nodos. El nmero de nodos por nivel contribuye a la densidad del rbol.

En la Figura (a) el rbol A contiene 8 nodos en una profundidad de 4, mientras que el rbol (b) contiene 5 nodos y una profundidad 5. Este ltimo caso es una forma especial, denominado rbol degenerado, en el que existe un solo nodo hoja ( E ) y cada nodo no hoja slo tiene un hijo. Un rbol degenerado es equivalente a una lista enlazada.

ESTRUCTURA DE UN RBOL BINARIO La estructura de un rbol se construye con nodos. Cada nodo debe contener el campo dato (datos a almacenar) y dos campos punteros, uno al subrbol izquierdo y otro al subrbol derecho, que se conocen como puntero izquierdo (izquierdo, izdo) y puntero derecho (derecho, dcho) respectivamente. Un valor NULL indica un rbol vaco.

Algoritmo de la estructura de un rbolNodosubarbolIzquierdo datos subarbolDerecho < puntero a Nodo> < Tipodato > < puntero a Nodo>

Fin Nodo