You are on page 1of 13

UNIVERSIDAD NACIONAL DE SAN

ESCUELA PROFESIONAL DE INGENIERIA DE SIST


TEMA: OPTIMIZACIN DE RBOLES DE BSQUEDA B
PROFESOR: MG. SC. CARLO CORRALES DELGAD
INTEGRANTES:
CCAMA YANA, DORIS MARCELA
CHOQUE APAZA, ROSA LVIRA
AREQUIPA PERU
2017
INTRODUCCION

El rbol de bsqueda binaria es una estructura de datos ampliamente utilizada


para el almacenamiento de informacin y la recuperacin de la misma, ya que
es compatible con muchas operaciones de conjuntos dinmicos, tales como:
bsqueda, mnimo, mximo, predecesor, sucesor, insertar y eliminar.
Un rbol binario ya est vaco o compuesto por un nodo raz o junto con
subrboles izquierda y derecho, los cuales tambin son rboles binarios. Un
rbol binario T para un conjunto de claves de un orden total, en el que cada
nodo tiene un valor de clave y todas las claves del subrbol izquierdo son
menores que la clave en la raz y todas las claves del subrbol derecho son
mayores que la clave de la raz, manteniendo esta propiedad recursivamente
para los subrboles izquierdo y derecho del rbol T.
RESUMEN
En la informtica, un rbol de bsqueda binario ptimo (BST), a veces
denominado rbol binario equilibrado de peso, [1] es un rbol de bsqueda
binario que proporciona el menor tiempo de bsqueda posible (o tiempo de
bsqueda esperado) para una secuencia dada de accesos. O probabilidades
de acceso).
Los BST ptimos se dividen generalmente en dos tipos: esttico y dinmico. En
el problema de optimalidad esttica, el rbol no puede modificarse despus de
haber sido construido. En este caso, existe una disposicin particular de los
nodos del rbol que proporciona el menor tiempo de bsqueda esperado para
las probabilidades de acceso dadas.
Existen varios algoritmos para construir o aproximar el rbol estticamente
ptimo dado la informacin sobre las probabilidades de acceso de los
elementos. En el problema de optimizacin dinmica, el rbol puede
modificarse en cualquier momento, normalmente permitiendo rotaciones de
rbol. Se considera que el rbol tiene un cursor que comienza en la raz que
puede mover o utilizar para realizar modificaciones. En este caso, existe alguna
secuencia de costo mnimo de estas operaciones que hace que el cursor visite
cada nodo en la secuencia de acceso de destino en orden.
RBOL DE BSQUEDA BINARIA PTIMO
FUNDAMENTOS DEL ALGORITMO
Un rbol de bsqueda binario ptimo es un rbol de bsqueda binario para el
cual los nodos se disponen en niveles tales que el costo del rbol es mnimo.
Con el fin de una mejor presentacin de los rboles de Bsqueda Binario
ptimo, consideramos rboles de Bsqueda Binario Extendida u ptimos, los
cuales tienen las claves almacenadas en sus nodos internos. Supongamos que
las n claves 1, 2,, se almacenan en los nodos internos de un rbol de
bsqueda binaria. Se supone que las claves se dan en niveles ordenados de
modo que 1< 2<<.
La complejidad de un BST ptimo es de (3) usando (2) posiciones de
memoria.
Un rbol de bsqueda binario extendido se obtiene de un rbol de bsqueda
binaria, mediante la adicin de nodos sucesores a cada uno de sus nodos
terminales como se indica en la siguiente figura:

Figura 1. a) rbol de Bsqueda Binaria b) rbol de Bsqueda Binaria Extendido


Una manera obvia de encontrar un rbol de bsqueda binario ptimo es
generar cada rbol de bsqueda binario posible para las claves, calcular la
longitud de trayectoria ponderada y mantener ese rbol con la longitud de
trayectoria ponderada ms pequea. Esta bsqueda a travs de todas las
soluciones posibles no es factible, ya que el nmero de tales arboles crece
exponencialmente, no es factible buscar todas las soluciones posibles, ya que
el nmero de tales rboles crece exponencialmente con "n".
Una alternativa sera un algoritmo recursivo. Considere las caractersticas de
cualquier rbol ptimo. Por supuesto tiene una raz y dos subrboles. Ambos
subrboles deben ser rboles ptimos de bsqueda binaria con respecto a sus
llaves y pesos. Primero, cualquier subrbol de cualquier rbol binario de
bsqueda debe ser un rbol de bsqueda binario.
En segundo lugar, los subrboles tambin deben ser ptimos.
Puesto que hay "n" posibles claves como candidatos para la raz del rbol
ptimo, la solucin recursiva debe probar todos ellos. Para cada clave
candidata como raz, todas las claves menos que esa clave debe aparecer en
su subrbol izquierdo mientras que todas las claves mayores que debe
aparecer en su subrbol derecho. Declarando el algoritmo recursivo basado en
estas observaciones requiere algunas anotaciones:
OBST (i, j ) denota el rbol de bsqueda binario optimo que contiene

las claves k i , k i+1 , , k j .

- W (i , j) denota la matriz de pesos para OBST (i, j) .

- W (i , j) se puede definir mediante la siguiente formula:

j j
W ( i , j ) = pk + qk
k=i+1 k=i

- C(i , j) , 0 i j n denota el costo de la matriz para OBST (i, j) .

- C(i , j) , puede ser definido recursivamente, de la siguiente manera:

C ( i , j )=W (i , j)
C ( i , j )=W ( i, j ) +min i<k j ( Ci , k1 +C k , j )

- Ri , j , 0 i j n
denota la raz de la matriz para OBST ( i , j ) .
- OBST ( i , j ) implicara el peso qi 1, pi , qi , , p j , q j .

ESTRUCTURA DE UN BST PTIMO

En BSTs ptimo almacenamos la probabilidad de cada nodo junto con su


clave
Para una secuencia dada K = <k1, k2, ..., ki> n de claves distintas,
ordenadas (k1 <k2 <... <kn)
Se desea construir un rbol de bsqueda binario desde las claves dadas
Para cada ki, se tiene una probabilidad pi, que una bsqueda es para ki

MUESTRA DE LA DIFERENCIA DE COSTOS


LOS COSTOS DE BSQUEDA

PSEUDOCODIGO
En esta seccin procederemos a desarrollar el pseudocdigo del BST ptimo.
Tenemos el siguiente procedimiento para determinar (, ) y (, ) con 0.

Figura 2. Seudocdigo que calcula la raz


La siguiente funcin construye un rbol de bsqueda binario ptima.

Figura 3. Seudocdigo construccin del BST ptimo

EJEMPLO DE BST PTIMO


Encontrar el rbol de bsqueda binario ptimo para =6 que tiene claves
1...6 y pesos 1=10, 2=3, 3=9, 4=2, 5=0, 6=10; 0=5, 1=6, 2=4, 3=4,
4=3, 5=8, 6=0. La siguiente figura muestra la matriz como aparecen
despus de la inicializacin y su disposicin final.
Figura 4. Valores de la matriz inicial
Los valores de la matriz de peso se han calculado de acuerdo a las frmulas:
Y as hasta llegar a: (5,6)= 5+ 6+ 6=18
Los elementos del costo de la matriz se calculan despus siguiendo un patrn
de lneas no paralelas con la diagonal principal.
Figura 5. Costo de la matriz despus de la primera pasada
* Los nmeros en negrita representan los elementos de la raz aadidos en la
matriz
Figura 6. Costo de la matriz y de la raz despus de la segunda pasada.

Figura 7. Costo de la matriz y raz despus de la tercera pasada


Y As hasta obtener:

Los elementos del costo de la matriz se calculan despus siguiendo un patrn


de lneas no paralelas con la diagonal principal.
Figura 5. Costo de la matriz despus de la primera pasada

Los nmeros en negrita representan los elementos de la raz aadidos en la


matriz

Figura 6. Costo de la matriz y de la raz despus de la segunda pasada.

Figura 7. Costo de la matriz y raz despus de la tercera pasada


Figura 8. Valores de la matriz final

El rbol ptimo resultante se muestra en la figura inferior y tiene una trayectoria


ponderada de longitud 188.
El clculo de las posiciones del nodo en el rbol se realiza de la siguiente
manera.
- La raz del rbol ptimo es (0,6)=3
- La raz del subrbol izquierdo es (0,2)=1
- La raz del subrbol derecho es (3,6)=6
- La raz del subrbol derecho de 1es (0,6)=2
- La raz del subrbol izquierdo 6es (0,6)=5
- La raz del subrbol izquierdo 5es (0,6)=4
As, el rbol de bsqueda binario ptimo obtenido tendr la siguiente
estructura:

Figura 9. rbol de bsqueda binaria optimo obtenida

IMPLEMENTACION DEL ALGORITMO


La implementacin del rbol de Bsqueda Binaria se divide en una clase de
Optimizacin y una Demostracin de la ejecucin del algoritmo:
A. Clase de Optimizacin del algoritmo
B. Clase Demostracin del algoritmo

ALGUNAS OBSERVACIONES
El BST ptimo puede no tener la altura ms pequea.
El BST ptimo puede no tener la clave de probabilidad ms alta en la
raz.
n 3 /2
Existen ( 4 / n ) diferentes BSTs con n nodos.

Utilice la subestructura ptima para construir una solucin ptima al


problema desde soluciones ptimas a subproblemas:
Dadas las claves ki, ..., kj (el problema).
Uno de ellos, kr, donde i <= r <= j, debe ser la raz.
El subrbol izquierdo de kr contiene ki,..., kr-1.
El subrbol derecho de kr contiene kr + 1,..., kj.
CONCLUSIONES
- Los rboles de bsqueda binaria ptimos a diferencia de un BST normal
tratan de encontrar una determinada clave en menos comparaciones
- Asumimos que un rbol de bsqueda ptimo es aquel en el que la
probabilidad de ocurrencia de todas las claves es igual (o es
desconocida, en cuyo caso asumimos que es igual). Por lo tanto, nos
concentramos en equilibrar el rbol para hacer que el costo de encontrar
cualquier clave en la mayora sea log.
-
VIII. BIBLIOGRAFIA
- http://ac.els-cdn.com/S0304397596003209/1-s2.0-S0304397596003209-
main.pdf?_tid=640d2fb0-f878-11e6-bf24-
00000aab0f01&acdnat=1487710844_ea5b15458ae72e21ed7eef91ef0c0
3b6
- http://www.cs.upc.edu/~iea/transpas/4_dinamica/sld053.htm
- [3] http://software.ucv.ro/~mburicea/lab5ASD.pdf
- http://ac.els-cdn.com/S0304397596003209/1-s2.0-S0304397596003209-
main.pdf?_tid=640d2fb0-f878-11e6-bf24-
00000aab0f01&acdnat=1487710844_ea5b15458ae72e21ed7eef91ef0c0
3b6
- http://www.cs.man.ac.uk/~graham/COMP20012/dynamic/optbintree/
- http://www.radford.edu/~nokie/classes/360/dp-opt-bst.html
- https://en.wikipedia.org/wiki/Optimal_binary_search_tree
- https://www.cs.auckland.ac.nz/software/AlgAnim/opt_bin.html
- http://www.ijirt.org/vol1/paperpublished/IJIRT101768_PAPER.pdf

You might also like