Conversión de Árboles Generales en Árboles Binarios

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Conversión de árboles generales en árboles binarios.

Los árboles binarios representan una de las estructuras de datos más importantes en
computación; por su dinamismo, la no linealidad entre sus elementos, y por su sencilla
programación.

B C

D E F G H

I J K L

Para un árbol en general como el que se muestra en la figura anterior, se han


configurado algunos pasos que se deben ejecutar para convertir ese árbol general en
un árbol binario.

Consideremos un árbol en general, los pasos por aplicar para lograr la conversión del
árbol en general a un árbol binario son los siguientes:
1. Deben enlazarse los hijos de cada nodo en forma horizontal, (los hermanos).
2. Debe enlazarse en forma vertical el nodo padre con el hijo que se encuentra más
a la izquierda; además debe eliminarse el vínculo de ese padre con el resto de
sus hijos.
3. Debe rotarse el diagrama resultante aproximadamente cuarenta y cinco grados
hacia la izquierda; para obtener el árbol binario correspondiente.

Ejemplo 1: Se muestra la aplicación de esos pasos para el árbol mostrado antes. El


árbol después de aplicar el paso uno es:

B C

D E F G H

I J K L
Conversión de árboles generales en árboles binarios.

Árbol obtenido después de aplicar los pasos dos y tres:

D C

I E G

F H

J L

Ejemplo 2: La figura que sigue muestra un árbol en general por convertir en árbol
binario.

B C D

E F G H I J K

O
L M N

La figura de abajo muestra el árbol después de aplicar los dos primeros pasos.

B C D

E F G H I J K

L M N O
Conversión de árboles generales en árboles binarios.

El árbol binario que se obtiene después de aplicar el paso tres es:

E C

L F G D

M H

N I

O K

El ejemplo dos muestra un árbol general que se desea convertir en un árbol binario, la
figura siguiente muestra el árbol después de aplicar el primer y segundo paso, y en la
última figura se presenta el árbol binario que se obtiene después de aplicar el tercer
paso.

Observemos qué para todo nodo de un árbol binario, que se obtiene de un árbol
general, se debe tener lo siguiente:
1. En la rama derecha de cada nodo, excepto el nodo raíz, si ésta es distinta del
vacío se encuentra un nodo que era hermano de éste en el árbol general.
2. En la rama izquierda de cada nodo, excepto el nodo raíz, si ésta es distinta del
vacío se encuentra un nodo que era hijo de éste en el árbol general.

Representación de un bosque como árbol binario: Un bosque es un conjunto


ordenado de uno o más árboles generales, se puede utilizar el algoritmo de conversión
anterior con algunas modificaciones, para representar un bosque como un árbol binario.
Dado un bosque formado por varios árboles en general, los pasos que deben aplicarse
para convertir ese bosque en un árbol binario son:
1. Enlazar en forma horizontal las raíces de los distintos árboles.
2. Enlazar los hijos de cada nodo en forma horizontal, (los hermanos).
3. Enlazar en forma vertical el nodo padre con el hijo que se encuentra más a la
izquierda, además debe eliminarse el vínculo de ese padre con el resto de sus
hijos.
4. Rotar el diagrama resultante aproximadamente cuarenta y cinco grados hacia la
izquierda, para obtener el árbol correspondiente.
Conversión de árboles generales en árboles binarios.

Ejemplo: Consideremos el siguiente bosque formado por cuatro árboles generales.

A F

B C G I

H
D E

Q
K

R S

L M N

T
U
O P

El árbol obtenido después de aplicar los primeros tres pasos es:

A F J Q

R S
B C G H I K

T U
D E L M N

O P
Conversión de árboles generales en árboles binarios.

El árbol binario después de aplicar el paso cuatro es:

B F

C G J

D H K Q

E I L R

M T S

N U

También podría gustarte