Sie sind auf Seite 1von 50

UNIVERSIDAD NACIONAL DEL CALLAO

ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS



Lic. GUILLERMO MAS AZAHAUNCHE 359
CAPITULO 8

RBOLES Y BUSQUEDA


OBJETIVOS

A. GENERALES
Dar razones tericas y fundamentales por que se deben estudiar los
rboles y sus algoritmos de bsqueda.
Presentar la informacin detallada de rboles para representar
estructuras jerrquicas.
Estudiar rboles de expansin mnima
B. ESPECIFICOS
Resolver problemas sobre rboles binarios y no binarios.
Estudiar las tcnicas de bsqueda binaria.
Estudiar las arborecencias.
Los rboles se ajustan perfectamente para representar estructuras jerrquicas y
para representar direcciones etiquetas de una manera organizada.
Los rboles se pueden definir como un tipo restringido de grafo.
Un grafo se define de la siguiente manera: Un grafo consiste de un nmero de
nodos (puntos o vrtices) y un grupo de arcos que unen parejas de nodos. A todos
los pares de nodos unidos por un arco se les llaman nodos adyacentes. Los arcos
pueden tener una direccin determinada, generando as un grafo dirigido, el cual
de lo contrario sera no-dirigido. (Tambin existen los grafos mixtos). Por
convencin a los nodos de un grafo se le representa con crculos y los arcos que
los conectan como lneas (no-dirigido) o flechas (dirigido).
Los rboles son entonces un subconjunto importante de los grafos, y son una
herramienta til para describir estructuras que representan algn tipo de jerarqua.
Un rbol dirigido tiene un nodo al que se le llama "raz" y de este nodo parten
todas las conexiones a los dems nodos. A los nodos terminales se les llaman
"hojas" y a todos los dems se les llama nodos intermedios.
De acuerdo al nmero de arcos que parten de cada nodo en un rbol, este se
puede clasificar en diferentes categoras. As se tienen rboles binarios, rboles2-
3-4, rboles rojo-negro, rboles B, etc.
A los nodos que dependen de otro nodo tambin se les conoce como nodos "hijos"
o descendientes y al otro se le llaman nodo "padre".
De esto de puede concluir que cada nodo padre es una raz de un sub-rbol.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 360
El nmero de sub-rboles que tiene un nodo determina el grado del nodo.
Naturalmente el grado de las hojas es de cero. Por convencin al nodo raz de
rbol se le considera el nivel cero del rbol.
Cuando se tienen varios rboles en un conjunto, al conjunto se le llama bosque.

Un grafo ( ) G V E = , es un rbol si y slo si es un grafo simple y
a b V , , existe una trayectoria desde a hasta b.

Altura de un nodo: Es la longitud del camino ms largo desde el nodo hasta una
hoja que sea descendiente de este nodo.
Altura de un rbol =altura del nodo raz.

Para poder realizar bsquedas eficientes en rboles se manejan dos
caractersticas: Los rboles pueden estar balanceados por altura o por peso.

rbol balanceado por altura: en donde todos los hijos o nodos hoja se intentan
mantener a la misma distancia de la raz.
rbol balanceado por peso: en donde los nodos ms visitados o utilizados se
mantienen a poca distancia de la raz.

TERMINOLOGA

La terminologa que por lo regular se utiliza para el manejo de rboles es la
siguiente:

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 INTERIOR. Es un nodo que no es raz ni terminal.
GRADO. Es el nmero de descendientes directos de un determinado
nodo.
GRADO DEL ARBOL 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 0.
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.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 361
Las defi ni ciones a tener en cuenta son:
a) Raz del rbol, todos los rboles que no estn vaco tienen un nico nodo raz.
Todos los dems elementos o nodos se derivan o descienden de l. El nodo
raz no tiene padre, es decir, no es el hijo de ningn elemento.
b) Nodo, son los vrtices o elementos del rbol.
c) Nodo terminal u hoja, es aquel nodo que no contiene ningn subrbol.
d) A cada nodo que no es hoja se le asocia una o varias subrboles llamados
descendientes hijos. De igual forma cada nodo tiene asociado un antecesor o
ascendiente llamado padre.
e) Los nodos de un mismo padre se llaman hermanos.
f) Los nodos con uno o dos subrboles-no son hoja ni raz-se llaman nodos
interiores o internos.
g) Una coleccin de dos o ms rboles, se llaman bosque.
h) Todos los nodos tienen un solo padre, excepto la raz que no tiene padre.
i) Se denomina camino al enlace entre dos nodos consecutivos y rama es un
camino que termina en una hoja.
j) Cada nodo tiene asociado un nmero de nivel que se determina por la longitud
del camino desde la raz al nodo especfico.
Nivel
Sean ( ) G V E = , un rbol con raz, v V . El nivel del vrtice v es la longitud
de la trayectoria desde la raz hasta v.
Ejemplo.

Propiedades de los rboles:

Un rbol es una grfica conexa. En particular, un rbol no tiene lazos ni aristas
paralelas.

Consideremos cualquier grfica conexa G. Una subgrfica T de G, se llama un
rbol generador si T es un rbol y si T incluye a todos lo vrtices de G, es decir,
V(T)=V(G). En otras palabras, T es un rbol que se obtiene quitando algunas
aristas de G, posiblemente, pero manteniendo todos los vrtices.

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 362
Sea ( ) G V E = , un grafo. Entonces las siguientes afirmaciones son todas
equivalentes entre s:
a) G es un rbol
b) G es simple, conexo y acclico;
c) E V = 1 y G es conexo y simple;
d) E V = 1 y G es acclico y simple;
e) G es acclico maximal y simple;
f) G es conexo minimal y simple.
En todo rbol no trivial (2 o ms vrtices) hay al menos un vrtice de grado 1.
Teorema 1: Sea e una arista de una grfica conexa G. Entonces, G \ {e}es conexa
si y slo si e est en algn ciclo.
Corolario: Toda grfica conexa finita G tiene un rbol generador.
Teorema 2
a) G es un rbol.
: Sea G una grfica con ms de un vrtice sin lazos ni aristas paralelas.
Las siguientes afirmaciones son equivalentes:
b) Cada par de vrtices distintos est conectado exactamente por un
camino simple.
c) G es conexa, pero si se le quita una arista ya no lo es.
d) G es acclica, pero no lo ser si se le agrega una arista.
Lema 1: Un rbol finito con al menos una arista tiene al menos dos hojas.
Lema 2: Un rbol con n vrtices tiene exactamente n-1 aristas.
Teorema 3
b) G es acclica y tiene n-1 aristas.
: Sea G una grfica finita con n vrtices sin lazos ni aristas paralelas.
Las siguientes afirmaciones son equivalentes:
a) G es un rbol.
c) G es conexa y tiene n-1 aristas.


1
2 3

4
5 6
8 9 10
7
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 363
Raz: 1
Hojas: 2-8-9-10-7
Altura del rbol: 3
Camino del nodo 3 al 9: 3-5-9
Longitud del camino: 2
Altura de 3: 2
Profundidad de 3: 1
Hermanos de 3: 2,4
Descendientes propios de 3: 5-6-8-9-10
Antecesores propios de 3:1
Padre 3: 1
Hijos de 3: 5,6
Un rbol es una grfica conexa.
Un rbol no tiene lazos ni aristas paralelas.
Un rbol con n vrtices tiene exactamente n-1 aristas
















Los conceptos anteriores dan lugar a las siguientes afirmaciones:
Ejemplo.
En la figura siguiente se representa un rbol T cuyos nodos estn denotados
por las primeras letras del abecedario: A, B, ..., y R.

La raz del rbol T es A.
El rbol T tiene tres subrboles de races B, C y D; (en este orden)
El nodo A es padre de B, C y D.
Los hijos de E son K y L
Los nodos E, F y H son nietos de A.
El nodo C es abuelo de P.
Los nodos I y J son hermanos.
El nodo B tiene grado 2, H tiene grado 1 y G tiene grado 3
Los nodos K, L, F, P e I son nodos hoja.
Los nodos B, D, G y J son interiores
Existe un arco de C a G y una arista entre J y R.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 364
Los nodos A, C, G y N, con los arcos que los conectan, constituyen un
camino.
La longitud del camino anterior es 3 (tiene tres arcos y 4 nodos).
El rbol con nodos G(raz), M, N y O es una rama de T pero no un
subrbol.
Si el nodo A es de nivel 0, los nodos de nivel 1 son B, C y D.
Hay 6 nodos de nivel 2 y 8 de nivel 3.
El grado del rbol es al menos 3.
La profundidad del rbol es 3
El grado del rbol es al menos 3.
El tamao de rbol es 18.

RBOLES BINARIOS COMPLETOS
Los rboles binario se utilizan en :
- comparacin de algoritmos
- llamados a subprogramas
- recursin de algoritmos
- aplicacin de bsqueda binaria
Un rbol binario se llama completo si todos sus nodos, excepto las hojas, tienen
exactamente dos subrboles. Un rbol binario completo, tal que todos los niveles
estn llenos, se llama rbol binario lleno.
En la figura 5 se ilustran ambos tipos de rboles.
El nmero de nodos en el nivel h-simo es 2
h

El nmero total de nodos desde la raz hasta el nivel h-simo es 2
h+1
1.
Un rbol binario T (de nivel h ) El nmero total de nodos internos desde la
raz hasta el nivel hsimo es 2
h
1
La altura de un rbol binario lleno de n nodos es log2 ( n + 1). A la inversa,
el nmero mximo de nodos de un rbol binario de altura h ser 2
h
1. en la
figura 6 se muestra la relacin matemtica que liga los nodos de un rbol.
Por ltimo, se denomina rbol degenerado un rbol en el que todos sus
nodos tienen solamente un subrbol, excepto el ltimo.
Ejemplo 2

H D

D L B E
B F J N A C
A C E G I K M O
(a) (b)
T T
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 365
Figura 5: (a) rbol binario lleno de altura 3, (b) rbol binario completo de
altura 2.
D

B F

A C E G

Altura (H) =2
Nmero de nodos (N) =7 =2
h+1
1
Nivel 2; nmero de nodos =2
2
=4

Apli caciones de rboles:

a) Una Tabla de Contenidos Se puede ver como un rbol
ordenado, donde la raz es el ttulo del libro, y los subrboles corresponden
a los captulos y secciones del libro.

rboles de jerarquizacin

Estos diagramas se utilizan para mostrar relaciones lgicas entre los registros de
una base de datos.












Este rbol puede utilizarse como modelo para establecer una base de datos que
guarde registros acerca de los libros almacenados en algunas bibliotecas.

b) Un rbol Familiar Esto es usualmente visto como un rbol no
ordenado, donde la raz representa a una pareja de casados, y cada
subrbol representa el rbol genealgico familiar de la descendencia de la
pareja.
Libro
Autor Ubicacin Editor
Disponibilidad
T
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 366


Este rbol muestra que tengo un hermano, Pedro, el cual tiene dos hijos; y
una hermana, Ana, que tiene una sola hija. Las hojas del rbol representan
personas sin hijos.

c) Un Pedigree Este es un rbol binario donde la raz es una
persona o animal, y los subrboles representan los pedigrees de los padres
de la persona o de los padres del animal.

d) Expresiones Aritmticas La mayora de los compiladores utilizan
rboles binarios para representar expresiones. Un ejemplo prctico es la
representacin de la notacin polaca a travs de un rbol binario. El
siguiente rbol representa la expresin dada: (X +Y) * (-9)



rbol es eti quetados

A veces es til etiquetar las vrtices o aristas de un dgrafo para indicar
su uso para un propsito especfico. Esto es particularmente cierto para
muchos usos de los rboles en la ciencia de la computacin

Ejemplo.-

Graficar : [ (A + B) x C ] D / E




UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 367
SOLUCION _



x

/
+
C D E

A B

Ejemplo 2.
Graficar: [ 3 (2 x X) ] +[ (X 2) (3 +X) ]

SOLUCIN
+

_ _
_

x X 2 +
3
X 3 X
2

RECORRIDO DE UN ARBOL BINARIO
Procesamiento en profundidad:
Hay tres mtodos para visitar un rbol en profundidad: preorden, Orden, y
postorden.
Cada una de ellas tiene una secuencia distinta para analizar el rbol como
se puede ver a continuacin: R (raz) I (izquierdo D ( derecho)

1. INORDEN
Recorrer el subrbol izquierdo en inorden.
Examinar la raz.
Recorrer el subrbol derecho en inorden.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 368
2. PREORDEN
Examinar la raz.
Recorrer el subrbol izquierdo en preorden.
Recorrer el subrbol derecho en preorden.
3. POSTORDEN
Recorrer el subrbol izquierdo en postorden.
Recorrer el subrbol derecho en postorden.
Examinar la raz.

Ejemplo 1

Ejemplo 2

Inorden: GDBHEIACJ KF
Preorden: ABDGEHICFJ K
Postorden: GDHIEBKJ FCA
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 369
Ejemplo.
El rbol binario de la figura siguiente se representa un valor asociado a cada
uno de sus nodos. Se trata de un rbol binario completo de profundidad 3 y
por tanto tiene 15 nodos. Hay 8 nodos de nivel 3, que son sus hojas; el
nmero de nodos de grado 2 es 7.





Los recorridos de sus nodos encuentran los valores siguientes:

Pre-Orden: 8-5-3-2-3-4-4-3-8-7-6-2-4-1-3
Post-Orden: 2-3-3-4-3-4-5-6-2-7-1-3-4-8-8
Orden: 2-3-3-5-4-4-3-8-6-7-2-8-1-4-3
Por-niveles: 8-5-8-3-4-7-4-2-3-4-3-6-2-1-3
Procesamiento de rboles.
Podemos estudiar el procesamiento de rboles desde dos puntos de
vista: en amplitud, y en profundidad.

Procesamiento en amplitud o anchura:
Con esta tcnica se pretende visitar los nodos de un rbol, por niveles:
primero los del nivel 1, luego los del nivel 2, luego los del 3, y as
sucesivamente. En el siguiente ejemplo, los nodos se visitaran en el
siguiente orden:


A, C, B, D, G, H, F, E, J, I.

Procesamiento en profundidad:
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 370
Hay tres mtodos para visitar un rbol en profundidad: preorden, Orden,
y postorden

PREORDEN: A, C, D, F, G, E, J, B, H, I.
INORDEN: F, D, C, E, G, J, A, I, H, B.
POSTORDEN: F, D, E, J, G, C, I, H, B, A.
Notacin Polaca
Por medio de datos tipo punteros tambin conocidos como
variables dinmicas o listas.
:
Los recorridos en preorder, postorder e inorder dan modos de enlistar los vrtices
de un rbol enraizado ordenado. Si etiquetamos los vrtices obtenemos una lista
de etiquetas. Si las etiquetas son cosas como nmeros signos de suma, signos de
multiplicacin y cosas por el estilo, nuestra lista puede dar una manera
significativa para calcular un nmero; por ejemplo, utilizando notacin algebraica
comn, la lista 4*3/2 determina el nmero 6. La lista 4+3*2 parece ambigua; es
el nmero 14 o 10? La notacin polaca, que describiremos a continuacin, es un
mtodo para definir las operaciones algebraicas sin usar parntesis, utilizando
listas obtenidas de rboles. Desde luego, es importante que las listas determinen
por completo los rboles etiquetados correspondientes y sus expresiones.
Despus de discutir la notacin polaca demostraremos que inclusive bajo
condiciones ms generales las listas determinan los rboles de manera nica.
La notacin polaca puede ser utilizada para escribir expresiones que involucren
objetos de algunos sistemas[de nmeros, o de matrices, o de proposiciones en el
clculo proposicional, etc.] y algunas operaciones en los objetos. Las operaciones
son comnmente, aunque no siempre, operaciones binarias. Los correspondientes
rboles enraizados ordenados tienen hojas etiquetadas con objetos del
sistema[como nmeros] o con variables que representan objetos del sistema[como
x]. Los dems vrtices estn etiquetados con las operaciones.

REPRESENTACIN EN MEMORIA. ( REPRESENTACIN DE LOS
RBOLES BINARIOS POSICIONALES EN COMPUTADORA )
Hay dos formas tradicionales de representar un rbol binario en memoria:
Por medio de arreglos.
Sin embargo la ms utilizada es la primera, puesto que es la ms natural
para tratar este tipo de estructuras.
Los nodos del rbol binario sern representados como registros que
contendrn como mnimos tres campos. En un campo se almacenar la
informacin del nodo. Los dos restantes se utilizarn para apuntar al subrbol
izquierdo y derecho del subrbol en cuestin.
Cada nodo se representa grficamente de la siguiente manera:
LEFT DATA RIGHT
Una celda tiene dos elementos: los datos (en algn orden) y un apuntador a la
siguiente celda; es decir, se indica la direccin donde se localiza la siguiente
celda. Una coleccin de tales celdas, enlazadas mediante sus apuntadores, es
una lista enlazada.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 371
Se necesita una versin extendida de este concepto, una lista doblemente
enlazada, donde cada celda contenga dos apuntadores v un elemento de datos.
El espacio central representa el almacenamiento de datos y los dos apuntadores,
llamados apuntador izquierdo v apuntador derecho, representados como antes
mediante puntos y flechas. Una vez ms, se utiliza el smbolo para un apuntador,
para indicar que no existen datos adicionales. A veces, una lista doblemente
enlazada se ordena de modo que cada celda apunte tanto a la celda siguiente
como a la anterior. Esto es muy til si se quiere buscar a travs de un conjunto de
elementos de datos en cualquier direccin. Aqu se utiliza las listas doblemente
enlazadas para algo muy diferente: para representar los rboles binarios
etiquetados posicinales. Cada celda corresponde a un vrtice, y la parte de datos
puede contener una etiqueta para el vrtice o un apuntador hacia esa etiqueta.
Los apuntadores izquierdo y derecho estarn dirigidos hacia los vrtices hijos
izquierdo y derecho, si existen. Si no existe alguno de los hijos, el apuntador
correspondiente es
Se implementa esta representacin con tres arreglos: LEFT, que contiene los
apuntadores dirigidos a los hijos de la izquierda; RIGHT, los apuntadores a los
hijos de la derecha, y DATA, con la informacin o las etiquetas relacionadas con
cada vrtice, o apuntadores hacia tal informacin. El valor 0, utilizado como
apuntador, indica que el hijo correspondiente no existe. A las listas enlazadas v a
los arreglos se les agrega una entrada inicial que apunta a la raz del rbol.
El algoritmo de creacin de un rbol binario es el siguiente:
Procedimiento crear(q: nodo)
inicio
mensaje("Rama izquierda?")
lee(respuesta)
si respuesta ="si" entonces
new(p)
q(li) <-- nil
crear(p)
en caso contrario
q(li) <-- nil
mensaje("Rama derecha?")
lee(respuesta)
si respuesta ="si" entonces
new(p)
q(ld)<--p
crear(p)
en caso contrario
q(ld) <--nil
fin
INICIO
new(p)
raz<--p
crear(p)
FIN
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 372
Ejemplo 1 Del cuadro siguiente realizar el rbol correspondiente en pre orden
INDICE IZQUIERDO DATO DERECHO
1 2 X 0
2 3 a 0
3 4 b 9
4 5 c 8
5 0 e 6
6 0 i 7
7 0 h 0
8 0 f 0
9 10 d 0
10 0 g 11
11 0 j 12
12 0 k 0

SOLUCIN
a


b


d
c
g
f j

e k

i

h
CLASIFICACIN DE RBOLES BINARIOS. (A.B.)
Existen cuatro tipos de rbol binario:
A. B. Distinto.
A. B. Similares.
A. B. Equivalentes.
A. B. Completos.
A continuacin se har una breve descripcin de los diferentes tipos de rbol
binario as como un ejemplo de cada uno de ellos.
A. B. DISTINTO.
Se dice que dos rboles binarios son distintos cuando sus estructuras son
diferentes. Ejemplo:

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 373
A. B. SIMILARES

Dos rboles binarios son similares cuando sus estructuras son idnticas,
pero la informacin que contienen sus nodos es diferente. Ejemplo:
A. B. EQUIVALENTES.

Son aquellos rboles que son similares y que adems los nodos contienen
la misma informacin. Ejemplo:
A. B. COMPLETOS.
Son aquellos rboles en los que todos sus nodos excepto los del ultimo
nivel, tiene dos hijos; el subrbol izquierdo y el subrbol derecho.
RBOLES ENHEBRADOS.
Existe un tipo especial de rbol binario llamado enhebrado, el cual contiene
hebras que pueden estar a la derecha o la izquierda. El siguiente ejemplo es un
rbol binario enhebrado a la derecha.

ARBOL ENHEBRADO A LA DERECHA. Este tipo de rbol tiene un
apuntador a la derecha que apunta a un nodo antecesor.
ARBOL ENHEBRADO A LA IZQUIERDA. Estos rboles tienen un
apuntador a la izquierda que apunta al nodo antecesor en orden.
RBOLES EN MONTN
Esta seccin consiste en transformar un bosque en un rbol binario.
Entenderemos como bosque a un conjunto normalmente ordenado de dos o ms
rboles generales.
La serie de pasos que debemos seguir para lograr la conversin de un bosque
en un rbol binario es la siguiente:
1. Enlazar horizontalmente las races de los distintos rboles generales.
2. Enlazar los hijos de cada nodo en forma horizontal (los hermanos).
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 374
3. Enlazar verticalmente el nodo padre con el hijo que se encuentra
ms a la izquierda. Adems debe eliminarse el vnculo de ese padre
con el resto de sus hijos.
4. Debe rotarse el diagrama resultante aproximadamente 45 grados
hacia la izquierda y as se obtendr el rbol binario correspondiente.

CONVERSI N DE UN ARBOL GENERAL EN UN ARBOL
BI NARI O
Dado que los rboles binarios son la estructura fundamental en la teora d rboles,
ser preciso disponer de algn mecanismo que permita la conversin de un rbol
general en un rbol binario.
Los rboles binarios son ms fciles de programar que los rboles generales. En
stos es imprescindible deducir cuntas ramas o caminos se desprenden de un
nodo en un momento dado. Por ello ,y dado que los rboles binarios siempre se
cuelgan como mximo dos subrboles, su programacin ser ms sencilla.
Afortunadamente, existe una tcnica para convertir un rbol general a formato de
rbol binario.
Supongamos que se tiene el rbol A y se quiere convertir en un rbol binario B. El
algoritmo de conversin tiene tres pasos fciles:
1. La raz de B es la raz de A
2. (a) Enlazar al nodo raz con el camino que conecta el nodo ms a la
izquierda (su hijo).
(b) Enlazar este nodo con los restantes descendientes del nodo raz en
un camino, con lo que se forma el nivel 1.
(c) A continuacin, repetir los pasos a) y b) con los nodos del nivel 2,
enlazando siempre en un mismo camino todos los hermanos,
descendientes del mismo nodo. Repetir estos pasos hasta llegar al nivel
ms alto.
3. Girar el diagrama resultante 45 grados para diferenciar entre los
subrboles izquierdo y derecho.
Ejemplo: Convertir el rbol general T en un rbol binario
Ejemplo 1: Convertir en rbol binario es siguiente rbol:

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 375
Solucin


Ejemplo 2:

Convertir en rbol binario es siguiente rbol:

A

B C D

E F G H I J

K L
Fig.7


Siguiendo los pasos del algoritmo.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 376
Paso1:
A

B C D

E F G H I J

K L
Paso 2:
A

B

E C

F D

K G H

L I

J
Paso 3:
Obsrvese que no existe camino entre E y F, debido a que no son descendientes
del rbol original, ya que ellos tienen diferentes padres, B y C.
En el rbol binario resultante los punteros izquierdos son siempre desde un nodo
padre a su primer hijo( ms a la izquierda) en el rbol general original. Los
punteros derechos son siempre desde un nodo de sus descendientes en el rbol
general.
Borrar
El borrado en rboles binarios de bsqueda es otra operacin bastante sencilla
excepto en un caso. Vamos a ir estudiando los distintos casos.
Tras realizar la bsqueda del nodo a eliminar observamos que el nodo no tiene
hijos. Este es el caso ms sencillo, nicamente habr que borrar el elemento y ya
habremos concluido la operacin.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 377
Si tras realizar la bsqueda nos encontramos con que tiene un slo hijo. Este caso
tambin es sencillo, para borrar el nodo deseado, hacemos una especie de
puente, el padre del nodo a borrar pasa a apuntar al hijo del nodo borrado.

Por ltimo, el caso ms complejo, si el nodo a borrar tiene dos hijos. En este caso
se debe sustituye el nodo a borrar por mayor de los nodos menores del nodo
borrado, o por el menor de los nodos mayores de dicho nodo. Una vez realizada
esta sustitucin se borra el nodo que sustituy al nodo eliminado (operacin
sencilla ya que este nodo tendr un hijo a lo sumo).
Sobre el siguiente rbol queremos eliminar el elemento 6. Tenemos dos opciones
para sustituirlo:

El menor de sus mayores: 7.
El mayor de sus menores: 4.

Vamos a sustituirlo por el 7 (por ejemplo). El rbol resultante sera el siguiente,
tras eliminar tambin el elemento 7 de su ubicacin original.

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 378
continuacin se muestra grficamente el proceso de borrar el nodo de clave 4:

RBOLES BINARIOS DE BSQUEDA.
Un rbol de bsqueda binaria es una estructura apropiada para muchas de
las aplicaciones que se han discutido anteriormente con listas. La ventaja especial
de utilizar un rbol es que se facilita la bsqueda.

Un rbol binario de bsqueda es aquel en el que el hijo de la izquierda (si
existe) de cualquier nodo contiene un valor ms pequeo que el nodo padre, y el
hijo de la derecha (si existe) contiene un valor ms grande que el nodo padre.
Un ejemplo de rbol binario de bsqueda es el siguiente:

Cdigos de huffman
La manera mas comn de representar los caracteres en una computadora
consiste en el ejemplo de cadenas de bits con longitud fija.

__________________________
carcter codigo ASCII
_______________________
A 100 0000
B 100 0001
C 100 0010
1 011 0001
2 011 0010
* 010 1010
Por ejemplo en esta tabla mostramos algunos ejemplos del cdigo ASCII, el cual
representa cada carcter con un arreglo de siete bits.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 379
Un cdigo de Huffman se puede definir con mayor facilidad mediante el uso
de un rbol con raz. Para descifrar un cadena; El cual se comienza por la raz y
se recorre el rbol hasta encontrar el smbolo. El 0o bien el1 indican cuando
hay que moverse a la derecha o a la izquierda.,
Ejemplo1. Del siguiente rbol determinar una palabra con el siguiente arreglo de
bits 01010111
SOLUCIN:
Raz

1 0
A
1 0
O
1 0
R
1 0

S
T
Cogemos el primer bit(0) ,el primer movimiento es a la derecha, luego hacia la
izquierda y terminamos en la derecha. En este punto encontramos la R.
Luego tenemos que regresar a la raz y proceder la bsqueda para descifrar el
siguiente smbolo. Se procede hacia la izquierda.
En donde encontramos el bit 1.Finalmente los ltimos 4 bits(0111) que
representan la T.
Como consecuencia a esto produce la palabra RAT.
Ejemplo 2. Descifrar los siguientes arreglos utilizando el cdigo de Huffman
presentado a continuacin:

0
1
1 0
1
0 1 0 E
A N
S 0
1 P
0
1
L
D
a) 011000010
b) 01110100110
SOLUCIN:
a) PEN b) LAP
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 380
Conceptos:
Un rbol libre es un grafo simple en el cual existe un nico camino entre
cada par de vrtices.
Un rbol con raz es un rbol que tiene un vrtice particular designado
como raz.

E raz i
d g
b d f g a
b j
i h e
a c h
j f
rbol con raz rbol libre


Problemas de los caminos ms cortos
Al goritmo de Dij kstra
La longitud de un camino es la suma de los costos de los arcos del camino (a veces la
longitud de camino denota el nmero de arcos en el camino)
El algoritmo de Dijsktra se basa en el hecho de que tal vez sea ms econmico pasar a
travs de uno o ms nodos para ir del vrtice origen a algn otro, en vez de ir directamente.
Considere la siguiente figura:

En particular pueden ocurrir dos cosas, que sea ms econmico ir directamente del vrtice i
al vrtice j (i.e., costo (i,j) <costo (i,k) +costo (k,j) o sea ms econmico pasar por el
vrtice k antes de llegar al vrtice j (i.e, (costo (i,k) +costo (k, j) <costo (i,j))
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 381
Este caso puede ampliarse para que en lugar de tomar en cuenta nicamente 3 nodos,
existan n nodos, as el algoritmo considera el camino ms corto que existe entre el vrtice
origen y cualquier otro nodo.
Ejemplo:
Considere el siguiente grafo:
1 2 3 4 5 6 7 8 9 10
1 0 4

4

2

0 1

3 1 1 0

2

4 5

3 0

10
5

5 0

3

6

2

0

4

7 6 1

0

8

3

0

2
9

12

1 0

10

1

0
Si se desea saber cul es el camino ms corto del Hotel a cualquier otro lugar y se aplica el
algoritmo de Dijkstra se obtiene el siguiente resultado:
i A k 1 2 3 5 6 7 8 9 10
Ini {4} - 5

3

10
0 {4,3} 3 4 4 3 5

10
2 {4,3,1} 1 4 4 3 5

10
3 {4,3,1,2} 2 4 4 3 5

8

10
4 {4,3,1,2,5} 5 4 4 3 5

8

10
5 {4,3,1,2,5,7} 7 4 4 3 5

8

10
6 {4,3,1,2,5,7,10} 10 4 4 3 5 11 8

10
7 {4,3,1,2,5,7,10,6} 6 4 4 3 5 11 8 15

10
8 {4,3,1,2,5,7,10,6,8} 8 4 4 3 5 11 8 15 17 10
9 {4,3,1,2,5,7,10,6,8,9} 9 4 4 3 5 11 8 15 17 10
As en el ltimo rengln aparecen los caminos ms cortos del hotel a cada uno de los dems
lugares.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 382
rboles abarcadores
Un rbol abarcador de un grafo (V,E) es una subgrafo de G que es un rbol y contiene a
todos los vrtices de G. En un grafo con pesos, el peso de un subgrafo es la suma de los
pesos de los arcos en el subgrafo.
Un rbol abarcador mnimo es un rbol abarcador con peso mnimo. As, un rbol
abarcador mnimo de un grafo pesado es un conjunto de arcos que conectan a todos los
vrtices del grafo en donde la suma de los pesos de los arcos es tan pequea como la suma
de pesos de cualquier otro conjunto de arcos que conecten a todos los vrtices.
Ejemplos: la forma ms barata de conectar un conjunto de terminales elctricas, lneas de
telfono, carreteras, vas de ferrocarril, etc.
Si el grafo no es conexo, entonces no existe un rbol abarcador.
Definicin: El rbol abarcador de un grafo G =(V,E) es un subgrafo T de G , donde T =
(V, E) con las siguientes propiedades:
1. V =V
2. T es conexo
3. T es acclico
Al goritmo de Prim
El algoritmo Dijkstra/Prim selecciona un vrtice arbitrario y entonces se ramifica hacia
fuera desde la parte construida, seleccionando un nuevo vrtice y arco en cada iteracin.
Durante el algoritmo, los vrtices pueden dividirse en tres categoras:
1. Vrtices en el rbol construido
2. Vrtices en el lmite o bordo, no estn en el rbol pero son adyacentes a algn
vrtice en el rbol
3. Vrtices no visitados, todos los dems
La idea clave del algoritmo es la seleccin de un vrtice lmite y un arco incidente. Ya que
los pesos estn en funcin de los arcos se seleccionan arcos y no vrtices. Este algoritmo
selecciona un arco de un vrtice del rbol o un vrtice lmite con peso mnimo.
Despus de cada iteracin puede haber nuevos vrtices lmite y el conjunto de arcos cambia
Ejemplo: Considere el siguiente grafo:
Las siguientes figuras muestran el algoritmo de Prim paso a paso:
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 383




UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 384
Costo =(A,B) +(A,G) +(G,I) +(I,F) +(I,E) +(E,D) +(C,D) +(H,C)
=2 +3 +1 +5 +2 +1 +2 +2 =18
Al goritmo de Kruskal
Un enfoque diferente para encontrar un rbol abarcador mnimo es aadir un arco a la vez,
en cada paso, utilizando el arco ms pequeo que no forme ciclos, as, teniendo un boque
con n-rboles, en n pasos, combinar dos subrboles hasta obtener uno slo. Este algoritmo
se atribuye a J. Kruskal (1956)
Ejemplo:
Considere el siguiente grafo:

La secuencia del algoritmo de Kruskal es la siguiente:
Paso 1: Se selecciona el arco (a,b) cuyo peso es 1

Ver grafo original
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 385
Paso 2: Se selecciona el arco (c,d) cuyo peso es 1

Ver grafo original
Paso 3: Se selecciona el arco (b,d) cuyo peso es 2

Ver grafo original
Paso 4: Se selecciona el arco (d,f) cuyo peso es 2

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 386
Ver grafo original
Paso 5: Se selecciona el arco (d,e) cuyo peso es 4. Antes se intent seleccionar los arcos
(a,c) y (c,f) cuyo peso es 3 pero forman ciclo. Debido a que todos los nodos estn
conectados el algoritmo termina

Ver grafo original
Costo =(a,b) +(b,d) +(d,c) +(d,e) +d (f)
=1 +2 +1 +4 +2 =10
Tarea:
1. Considere el siguiente grafo:

Muestre paso a paso el algoritmo de Prim
2. Considere el siguiente grafo:
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 387

Muestre paso a paso el algoritmo de Kruskal
Nota:
Los rboles con races se utilizan con frecuencia para especificar relaciones de
jerarqua.
4. determinar la malla ferroviaria de mnimo costo para las unidades mostradas en
el siguiente grafo:
costo mnimo =3+4+5+5+5+15+15 =52


arista costo
{b,c} 3
{d,f} 4
{c,e} 5
{a,g} 5
{c,d} 5
{a,b} 15
{a,d} 15
{e,f} 15
{g,h} 15
{f,h} 15
{f,g} 18


UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 388
A
D
B
C

Ejemplo: Usando el algoritmo Prin hallar la red de costo mnimo
Arborescencia Parci al de un grafo:
Sea G
1
=(E,1) un grafo parcial de un grafo sin bucles G=(E, ).
Si G
1
es una arborescencia de raz X
i
que pertenece a E dado que ste rbol
Parcial se llamar Arborescencia Parcial de G de raz X
i
.

En primer lugar debemos de hallar la matriz A, [a] matriz boolenana asociada al
grafo G (matriz de adyacencia de G ), y luego la matriz [d] donde d
ij
es definida
como:
{ }

=

j i Si x
j i Si
d
i
j i 1
0



y luego denominaremos [b] a la matriz [b]=[d]-[a]

Donde si se tiene que X
i
es la raz elegida. denominaremos a
ij
al menor
complementario de la matriz [b] obtenida eliminando de [b] la i-sima fila y la
i-sima columna en stas condiciones:


i
proporciona el nmero de
arborescencias de raz X
i
.
Ejemplo
Dado el siguiente grafo dirigido, halle las
arborescencias parciales de raz A. Grafquelo
Solucin
Primero hallamos la matriz de adyacencia


UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 389
D C B A

| |
(
(
(
(

=
0 1 0 0
1 0 1 0
1 1 0 0
1 0 1 0
D
C
B
A
a

Ahora hallamos la matriz | | d
D C B A

| |
(
(
(
(

=
3 0 0 0
0 2 0 0
0 0 2 0
0 0 0 0
D
C
B
A
d

Y como la matriz [b]=[d]-[a] se tiene
| |
(
(
(
(




=
3 1 0 0
1 2 1 0
1 1 2 0
1 0 1 0
b

Ahora como consideramos la raz A
encontramos el menor complementario:

6
3 1 0
1 2 1
1 1 2
=



=
A

Luego la grafica dada tiene 6 arborescencias
parciales de raz A; las seis graficas que se
obtienen de la figura dada son:














A
D
B
C
A
D
B
C
A
D
B
C
A
B
D
C
A
B
A
B
D
D
C
C
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 390

ARBOL PARCIAL DE UN GRAFO G

Sea ( ) U E G , = un grafo no orientado el cual admite una red parcial que es
un rbol ( ) V E H , = si solo si G es conexo. Dicho rbol se denomina rbol parcial
de G.
Para construir un rbol parcial de un grafo se busca una arista cuya
supresin no desconecta la red ( se busca una arista cuya supresin no provoque
la perdida de conexidad del grafo G ). En caso de no existir tal arista, entonces la
red es un rbol; si existe se le suprime y despus se busca otra arista a suprimir,
el proceso sigue hasta obtener el rbol.
Ejemplo
1
2
3
4
5
6
7
E A
D
F
G
B

El proceso dado es como en el grafico se han eliminado las aristas 1,2,3,4,5,6 y 7,
las aristas restantes constituyen un rbol parcial del grafo.
El recuento de los rboles parciales de un grafo G dado se efecta de
manera anloga al caso de las arborescencias.
Sea G un grafo simtrico sin bucles asociado al grafo no orientado G, en
estas condiciones ( ) = , E G se halla asociada a ( ) U E G , = con lo que =
1
.
En primer lugar se halla la matriz de adyacencia
| | a
. Luego se determinar la
matriz
| | d
tal que:
{ }

=

=
j i Si x
j i Si
d
i
j i

0


y luego denominaremos [b] a la matriz [b]=[d]-[a]
El menor complementario
i
de la matriz [b] obtenida eliminando de [b] la i-sima
fila y la i-sima columna proporciona el nmero de rboles parciales. Puesto que
G es simtrico por que
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 391
j i
j i = : ,


Ejemplo
El grafo dirigido es simtrico sin bucles equivalente en este caso al grafo no
dirigido. Halle el nmero de rboles parciales y halle sus graficas.
A
D
B
C
A
D
C
B

Solucin
Primero hallamos la matriz de adyacencia
D C B A
| |
(
(
(
(

=
0 1 1 1
1 0 1 0
1 1 0 1
1 0 1 0
D
C
B
A
a

Ahora hallamos la matriz | | d
D C B A
| |
(
(
(
(

=
3 0 0 0
0 2 0 0
0 0 2 0
0 0 0 2
D
C
B
A
d

Y como la matriz [b]=[d]-[a] se tiene
| |
(
(
(
(





=
3 1 1 1
1 2 1 0
1 1 3 1
1 0 1 2
b



UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 392
8
3 1 1
1 2 1
1 1 3
=



=
A
Luego la grafica dada tiene 8 rboles parciales de
raz A; las ocho graficas de la figura dada son:
A
A A
A A
A A
A
D D
D D D
D
D
D
B B
B
B
B
B
B
B
C C
C
C
C
C C C

Ejercicio
Contar las arborescencias parciales y los rboles parciales de los siguientes
grafos:
A
B
C
D
A
B
C
D
E
a) b)





UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 393
PROBLEMAS DESARROLLADOS
(De clic sobre la pregunta que deseas conocer la respuesta)

1.- Qu es un rbol?
2.- Cuntas aristas tiene un rbol con n vrtices?
3.- De que tipo de grafo es un rbol libre?
4.- De que manera estn conectados los rboles?
5.- Qu tipo de rbol produce el algoritmo Kruskal?
6.- Cundo decimos que x es hijo de y?
7.- Cundo decimos que x es padre de y?
8.- Qu es un nodo interior?
9.- Cules son las reglas de la formacin de rboles?
10.- De cuntas formas puede ser balanceado un rbol?
11.- Qu altura tiene un rbol vaco?
12.- Cul es el grado de un rbol?
13.- Cul es el nivel de un rbol?
14.- Cundo decimos que dos nodos son hermanos?
15.-
16.-
A que le llamamos altura de un rbol?
Puede un rbol acclico contener ciclos?
17.- Conque otro nombre podemos identificar a un rbol?
18.- Cmo se le llama a un rbol con al menos una arista?
19.- De que estn formados principalmente los rboles?
20.- Cmo se les llama a los nodos que tienen hijos o descendientes?
21.- Cul es el rbol balanceado por altura?
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 394
22.- Cmo se les denomina a los nodos que no tienen hijos o descendientes?
23.- Cules son los cdigos de Hufman?
24.- Cul es el rbol balanceado por peso?
25.- Cuntas hojas o nodos tiene un rbol finito con al menos una arista?
26.- Si le ponemos flechas a un rbol en que se convierte?
27.- Cul sera la definicin de un rbol libre?
28.- A qu le llamamos longitud de paseo?
29.- Qu es un rbol enraizado?
30.- Cules son los dos tipos de longitud que existen?
31.- Cmo se llama a los vrtices de valencia 1?
32.- Cul es el nmero de nivel de un vrtice?
33.- Determine la altura del rbol enraizado siguiente:





UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 395
34.- De una lista de las aristas de la siguiente grfica, considerando como
subconjunto V(G). Por ejemplo a = {w,x}

35.- De que otra manera podemos ver a los rboles enraizados?
36.- Qu es un rbol enraizado ordenado?
37.- Cul sera una definicin de un rbol enraizado?
38.- De la altura de los siguientes rboles enraizados:

39.- Qu es un cdigo de prefijos?
40.- Cul sera una buena opcin para que sea posible dividir una cadena
recibida en sucesiones que representan letras en un mensaje sin
ambigedades?
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 396
41.- Qu hacemos para representar el rbol binario por medio de cdigos de
prefijos?
42.- Cundo sabemos que ha sido detectada una sucesin en el cdigo de
prefijos?
43.- Proporcione un ejemplo de un cdigo de prefijos y un ejemplo de uno que
no es cdigo de prefijos:
44.- Determine los cdigos de prefijos del siguiente rbol binario.


45.- Qu procedimiento garantiza que no habr ambigedad al dividir una
cadena recibida en sucesiones que estn en el cdigo de prefijos?
46.- Qu tipo de rbol es al que se puede aplicar el cdigo de prefijos?
47.- Cmo definimos a un rbol binario de bsqueda?
48.- Cul sera una aplicacin de un rbol de bsqueda binaria?
49.- Dentro de un rbol binario De qu manera distinguimos los hijos?
50.- Cmo denotamos al nodo raz de un rbol binario?
51.- Cmo definimos el balance de un nodo en un rbol binario?
52.- Cuntos tipos de rbol binario existen?
53.- Cuntos y cules son los mtodos de bsqueda para recorrer un rbol
binario?

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 397
54.- Determine los recorridos del siguiente rbol binario ya ordenado:


55.- Conque otro nombre podemos identificar la altura de un rbol?
56.- Cuntos hijos puede tener como mximo un nodo de un rbol binario?
57.- Cul sera una ventaja de usar un rbol con bsqueda binaria?
58.- Explique cada uno de los 3 mtodos de bsqueda en un rbol binario?
59.- Dibuje un grafo de en forma de rbol binario que tenga a d como raz, a
la hoja c como hijo por la izquierda y a f como hijo por la derecha, f tiene a e
como hijo por la izquierda y carece de un hijo por la derecha, donde los nodos
c y e son nodos hojas.
60.- Realice los e recorridos con respecto al siguiente rbol binario

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 398
SOLUCINES
(De clic sobre Prob. para ver nuevamente la lista de preguntas)
1.- Los rboles se utilizan para organizar informacin de tal modo que
sea posible efectuar eficientemente operaciones que ataan a esa
informacin. Es frecuente que resulte posible desglosar los problemas
complejos y representarlos mediante una estructura de rbol. Y lo que
es ms, los rboles surgen en redes que se modelan mediante grafos.
Prob.
2.- Tiene exactamente n - 1 aristas. Prob.
3.- Es del tipo de los grafos no dirigidos. Prob.
4.- Por medio de arcos. Prob.
5.- Un rbol generador mnimo. Prob.
6.- Cuando el nodo x es apuntado por el nodo y y donde x es
descendiente directo de y. Prob.
7.- Cuando el nodo x es apuntado por el nodo y y donde x es
antecesor de y. Prob.
8.- Es un nodo que no es raz ni es terminal. Prob.
9.- a) No hay ciclos.
b) De padre a hijos son vlidas las relaciones de uno a uno de
uno a muchos. Prob.
10.- De 2 formas que son: 1.- rbol balanceado por altura 2.- rbol
balanceado por peso. Prob.
11.- Tiene altura = 0. Prob.
12.- Es el mximo grado de todos los nodos del rbol. Prob.
13.- Es el nmero de arcos que deben ser recorridos para llegar a un
determinado nodo. Prob.
14.- Si ambos nodos son descendientes directos de un mismo nodo.
Prob.
15.- Al nmero mximo del nivel que aparece en el rbol. Prob.
16.- No es posible. Prob.
17.- rbol libre. Prob.
18.- rbol finito. Prob.
19.- De nodos. Prob.
20.- Nodos rama. Prob.
21.- Es donde todos los hijos o nodos hoja se intentan mantener a la
misma distancia de la raz. Prob.
22.- Nodos hoja. Prob.
23.- Representan los caracteres mediante cadenas de bits de longitud
variable y proporciona una alternativa para ASCII y otros cdigos de
longitud fija. Prob.
24.- Es donde todos los nodos ms visitados se mantienen a poca
distancia de la raz. Prob.
25.- Tiene al menos 2 hojas. Prob.
26.- En un rbol dirigido. Prob.
27.- Es un grafo sencillo no dirigido que es a la vez convexo y acclico.
Prob.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 399
28.- Al nmero de aristas que aparecen en la sucesin de un paseo.
Prob.
29.- Es aquel que tiene todos sus nodos unidos al nodo raz. Prob.
30.- Longitud Interna y Longitud Externa. Prob.
31.- hojas. Prob.
32.- Es la longitud del nico camino simple desde la raz hasta el
vrtice mismo. Prob.
33.- La altura = 2. Prob.
34.-


Prob.

35.- Como estructuras de datos para diagnstico o identificacin. Prob.
36.- Es simplemente un rbol enraizado tal que el conjunto de hijos de
cada parte est ordenado linealmente. Prob.
37.- Es aqul rbol que posee un nodo superior raz. Prob.
38.- a) altura = 2
b) altura = 3Prob.
39.- Es un conjunto de sucesiones si no existe una sucesin en el
conjunto que sea un prefijo de otra sucesin del conjunto. Prob.
40.- El representar las letras del alfabeto por sucesiones en un cdigo
de prefijos. Prob.
41.- Etiquetamos las 2 aristas incidentes desde cada nodo rama con 0 y
1, despus asignamos a cada hoja una sucesin de nmeros 0 y 1, que
es la sucesin de etiquetas para las aristas del paseo desde la raz
hasta la hoja. Prob.
42.- Cuando el paseo hacia abajo alcanza una hoja. Prob.
43.- No es cdigo:{1,00,01,000,0001},
Si es cdigo:{000,001,01,10,11}.Prob.
44.-
Prob.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 400
45.- Cuando la sucesin alcanza una hoja y se debe regresar a la raz
para comenzar a buscar la siguiente sucesin. Prob.
46.- A los rboles binarios. Prob.
47.- Aqul rbol en el que el hijo de la izquierda (si es que existe) de
cualquier nodo contiene un valor ms pequeo que el nodo padre y el
hijo de la derecha (si es que existe) contiene un valor ms grande que
el nodo padre. Prob.
48.- La determinacin con rapidez del valor o el lugar de los elementos
que estn ordenados linealmente. Prob.
49.- Los distinguimos como hijos por la izquierda e hijos por la
derecha. Prob.
50.- Como el vrtice que se representa por encima de todos los nodos
restantes, que se identifican por niveles segn su distancia. Prob.
51.- Se define como la altura de su subrbol izquierdo menos la altura
de su subrbol de la derecha. Prob.
52.- Son: rbol binario distinto, rbol binario similar, rbol binario
equivalente, rbol binario completo. Prob.
53.-
Pre Orden.
Orden.
Post Orden. Prob.

54.-
Pre-orden: 38- 9- 5-1- 4-19-17- 28- 60- 43- 41- 53- 77- 64-90
En-orden: 9- 5-4- 1-17-19- 28- 38- 41- 43-53- 60- 64- 77-90
Post-orden: 1- 4-5- 17- 28-19-9- 41- 53-43- 64-90-77- 60- 38Prob.

55.- Como profundidad de rbol. Prob.
56.- Solo 2 hijos. Prob.
57.- Es que permite que las operaciones de insercin y eliminacin se
efecten con eficiencia y principalmente facilita la bsqueda de
cualquier elemento. Prob.
58.-
Pre Orden: 1ero se recorre la raz, 2do se recorre el subrbol
izquierdo en Pre-Orden, 3er se recorre el subrbol derecho en Pre-
Orden
I n Orden: primero se recorre el subrbol izquierdo en in
Orden, 2do se recorre la raz y 3ero se recorre el subrbol derecho en
in Orden.
Post Orden: primero se recorre el subrbol izquierdo en Post
Orden, 2do se recorre el subrbol derecho en Post Orden y 3ero se
recorre la raz. Prob.



UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 401
59.-





Prob.

60.-
Prob.
PROBLEMAS PROPUESTOS


Ejercicio 01.-
a) Un rbol tiene 4 vrtices de grado 2, 1 de grado 3, 2 de grado 4 y 1
de grado 5 Cuntas hojas tiene? (hojas =vrtices colgantes =vrtices de
grado 1)
b) Si un rbol tiene n vrtices de grado 2, m de grado 3 y l de grado 4,
Cuntas hojas tiene?
c) Si un rbol tiene n2 vrtices de grado 2, n3 de grado 3,... y nk de
grado k, Cuntas hojas tiene?

Ejercicio 02.-
Hallar un rbol generador para el siguiente grafo aplicando el algoritmo
de bsqueda en profundidad.

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 402
Ejercicio 03.-
Aplicar el algoritmo de bsqueda en profundidad al siguiente grafo.

Ejercicio 04.-
Un rbol etiquetado es aquel en que los vrtices estn etiquetados. Si el
rbol tiene n vrtices, entonces {1, 2, 3,..., n} se usa como el conjunto de
etiquetas. Vemos que dos rboles que sin etiquetas son isomorfos pueden
volverse no isomorfos al etiquetarlos. En la figura 2, los primeros dos rboles
son isomorfos como rboles etiquetados. El tercero es isomorfo a los otros dos
si no se tienen en cuenta las etiquetas; sin embargo, como rbol etiquetado,
no es isomorfo a ellos.
El nmero de rboles no isomorfos con n vrtices etiquetados puede contarse
estableciendo una correspondencia uno a uno entre estos rboles y las nn-2
sucesiones (con repeticin) x1, x2,..., xn - 2 de {1, 2, 3,..., n}. Si T es uno de
esos rboles etiquetados, usamos el siguiente algoritmo para establecer la
correspondencia uno a uno. (En este caso, T tiene al menos una arista.)
Paso 1: i: = 1.
Paso 2: Sea T(i): = T.
Paso 3: Puesto que un rbol tiene al menos dos vrtices colgantes,
seleccionamos el vrtice colgante en T(i) con la mnima etiqueta yi. Ahora
eliminamos la arista {xi, yi} de T(i) y usamos xi como la i-sima componente
de la sucesin.
Paso 4: Si i = n - 2, tenemos la sucesin correspondiente al rbol etiquetado
dado T(1). Si i n - 2, incrementamos i en 1, hacemos T(i) igual al subrbol
resultante en el paso 3 y regresamos al paso 3.
a) Encuentre la sucesin de seis dgitos para los rboles (i) y (iii) de la figura
2.
b) Si v es un vrtice de T, muestre que el nmero de veces que la etiqueta de
v aparece en la sucesin x1, x2,..., xn - 2 es grad(v) - 1.
c) Reconstruya el rbol etiquetado con 8 vrtices asociado a la sucesin 2, 6,
5, 5, 5, 5.
d) Desarrolle un algoritmo para reconstruir un rbol a partir de una sucesin
dada x1, x2,..., xn - 2.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 403





Ejercicio 05.-
Identificar cual de los grafos G1, G2, G3, G4 es un rbol:




Ejercicio 06.-
Escribir los recorridos de Pre-Orden, Orden y Post-Orden del siguiente
rbol.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 404


Ejercicio 07.-
A que recorrido corresponde el siguiente vector: { 0,0,0,1,1,1,0,1}


Ejercicio 08.-
Hallar el recorrido del siguiente rbol con los tres mtodos conocidos y
luego hacer una representacin de una lista doblemente enlazada del rbol
etiquetado (Left Data Right).

UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 405


Ejercicio 09.-
Cual de los ahuyentes rboles es completo y luego hallar los elementos
que se encuentra en el nivel 3 de dicho rbol completo.


Ejercicio 10.-
Hallar el rbol generador del siguiente grafo.


UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 406
Ejercicio 11.-
Hallar el rbol generador de los siguientes grafos. Luego
determinar el nmero de arborescencias de los rboles hallados.


Ejercicio 12.-
Hallar un rbol generador para cada uno de los siguientes grafos:



Ejercicio 13.-
Determina un rbol generador mnimo de cada uno de los grafos
siguientes:



UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 407


Ejercicio 14.-
Hallar el recorrido Post-Orden de siguiente rbol binario.



Ejercicio 15.-
Reconstruir un rbol binario a partir de los recorridos siguientes:
a) Preorden: 2, 5, 3, 9, 7, 1, 6, 4, 8.
Orden: 9, 3, 7, 5, 1, 2, 6, 8, 4.

b) Orden: 5, 6, 12, 10, 1, 9, 13, 4, 8, 2, 7, 3, 11.
Postorden: 6, 5, 10, 9, 1, 13, 12, 2, 8, 3, 11, 7, 4.
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA DE POST GRADO DE INGENIERIA DE SISTEMAS

Lic. GUILLERMO MAS AZAHAUNCHE 408

Das könnte Ihnen auch gefallen