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

INSTITUTO TECNOLOGICO DE VERACRUZ CARRERA: Ing.

En Sistemas Computacionales ALUMNO: Edgar Ordoez Ruiz PROFESOR: Crdoba del Valle Rafael MATERIA: Estructura de Datos TAREA: rboles Balanceados y rboles B+ HORARIO: 11am - 12pm

rboles Balanceados
Los AB, son eficientes en las operaciones de bsqueda, insercin y eliminacin pero que sucede cuando el rbol crece o decrece descontroladamente, la eficiencia de la estructura de datos decae, una situacin crtica es cuando se insertan elementos ordenados en un AB. Veamos el ejemplo:
Insertar los datos 15, 18, 30, 60 Insertar los datos 32, 11, 9, 4

Se expanden incrementando las comparaciones n/2

30

60

La Idea Central
Realizar reacomodos o balanceos despus de inserciones o eliminaciones de elementos. Se les conoce igual como arboles AVL (autores: 2 matemticos rusos G.M. Adelson-Velskii y E.M Landis).

Definicin:
Es un rbol binario de bsqueda, en la cual se cumple la siguiente condicin Para todo nodo T del rbol la altura de los subrboles izquierdo y derecho no deben diferir en ms de una unidad.

Ejemplo de rbol Balanceado

35

60

20

40

40

90

15

25

45

75

97

De altura 3 10 18 27 De altura 4 68

Calculo del Total de Nodo de un ABB (Se asemeja al clculo de Nmeros Fibonacci)
1. 2. 3. 4. 5. El rbol de altura 0 es null El rbol de altura 1 = 1 nodo El rbol de altura 3 = ? Aplica la formula Kh= kh-1+1+kh-2

Ejemplo (Prueba de escritorio) K=5 = k4 +1 k3 k4 = k3 +1 k2 k3= k2+1k1 k2= k1+1+k0 k1=1 k0=0

k2=2 k3=4 k4=7 K5=12

Insercin
CASO 1: La rama Izquierda y Derecha del rbol tienen la misma estructura Hri= hrd Por lo tanto: o si se inserta a la izquierda Hri >Hrd o si se inserta a la derecha Hrd >Hri
.

15

15

15

CASO 2: La altura del Ri != Rd 2.1 Hri < Hrd o Si se inserta en Hri = Equilibrio o Si se inserta en Hrd = No hay equilibrio
.

15

15

15

CASO 3: La altura del Ri != Rd 2.1 Hri > Hrd o Si se inserta en Hri = No hay equilibrio o Si se inserta en Hrd = Equilibrio
.

15

15

15

Factor de Equilibrio
Se calcula: Los valores que puede tomar son: -1, 0, 1. Si no son estos valores se tendr que reestructurar el rbol. -1 35 1 0 20 0 15 25 0 -1 -1 65

0
40 0 33

45
-1 54 68

70

50

Reestructuracin
El proceso de insercin en un rbol balanceado es sencillo pero con detalles complicados. Paso 1: Seguir un camino de bsqueda para localizar el lugar de la insercin. Paso 2: Calcular el FE (obviamente 0) Paso 3: Regresar por el camino calculando el Fe de los distintos nodos, si en algn momento se viola el criterio de equilibrio Reestructurar el rbol, significa rotar los nodos del mismo y puede ser: SIMPLE DD (Derecha derecha) II (izquierda, izquierda) COMPUESTA DI (derecha izquierda) ID (izquierda derecha)

32

-2 32

-2

11

-1 11

-1

0 11 0 9

Rotacin hacia la II

0
3 2

2 18 1 30 0 60

18

30

60 0 30

Rotacin hacia la DD

0 18 6 0

-2 -2 18 I 6 I 1 18

1 0 D 10

0
0 10 0 6 1 8 0

10

Rotacin hacia la ID

18 D 30 0 25 I

18 D 30 0 25 I 0

25
0 18 60 0

Rotacin hacia la DI

Eliminacin
Se tienen los mismos casos que en arboles binarios de bsqueda: Nodo terminal u hoja se suprime 1 Descendiente (izquierda o derecha) se sustituye 2 Descendientes Buscamos en el sub izquierda el que este ms a la derecha. Buscamos en el sub der el que se encuentre ms a la izquierda. Para eliminar se siguen estos pasos: PASO 1.- Se busca la ruta. PASO 2.- Se aplica la regla anterior. PASO 3.- Regresar por el camino de bsqueda y recalcular FE (Factor de Equilibrio). PASO 4.- Si en un momento se viola la regla se reacomoda como en la insercin. PASO 5.- Se hace la operacin hasta llegar al nodo raz.

rboles B+
Los arboles B+ son una variante de los arboles B, se diferencian en que los arboles B+ toda la informacin se encuentra almacenada en las hojas. En la raz y en las pginas internas se encuentran almacenado ndices o claves para llegar a un dato.

Principales caractersticas de los arboles B+ de orden m son: La raz almacena como mnimo un dato y como mximo m-1 datos. La pgina raz tiene como mnimo dos descendientes. Las paginas intermedias tienen como mnimo (m-1)/2(Parte entera) datos. Las pginas intermedias tienen como mximo m-1 datos. Todas las paginas hojas tienen la misma altura La informacin se encuentra ordenada. Toda la informacin se encuentra almacenada en las pginas hoja, por lo que en las pginas internas se puede duplicar las claves.

Ejemplo de un rbol B+ de orden 5:

Insercin en un rbol B+: La insercin en un rbol B+ es similar a la del rbol B se diferencia en el momento que una pgina deja de cumplir la condicin del nmero de datos almacenados. Para realizarla se debe subir una copia de la clave mediana de los datos del nodo a la pgina padre, solo se duplica la informacin cuando la clave que sube es de una pgina hoja. Los pasos a seguir para una insercin son los siguientes: 1. Se ubica en la pgina raz. 2. Se evala si es una pgina hoja 2.1. Si la respuesta es afirmativa, se evala si no sobrepasa los lmites de datos.

2.1.1.

Si la respuesta es afirmativa, entonces se procede a insertar el nuevo valor en lugar del correspondiente. 2.1.2. Si la respuesta es negativa, se divide la pgina en dos, se sube una copia de la mediana a la pgina padre, si la pgina padre se encuentra llena se debe de partir igual y as el mismo proceso hasta donde sea necesario, si este proceso llega hasta la raz la altura del rbol aumenta en uno. 2.2. Si no es hoja, se compara el elemento a insertar con cada uno de los valores almacenados para encontrar la pgina descendiente donde proseguir la bsqueda. Se regresa al paso 1.

Ejemplo de insercin: Insertar las siguientes claves a un rbol de orden 5: 10-27-29-17-25-21-15-31-13-51-20-24-48-1960-35-66

Eliminacin: La operacin de eliminacin en rboles-B+ es ms simple que en rboles-B. Esto ocurre porque las claves a eliminar siempre se encuentran en las pginas hojas. En general deben distinguirse los siguientes casos: Si al eliminar una clave, la cantidad de llaves queda mayor o igual que [m/2] entonces termina la operacin. Las claves de los nodos raz o internos no se modifican por ms que sean una copia de la clave eliminada en las hojas. Si al eliminar una clave, la cantidad de llaves queda menor que [m/2] entonces debe realizarse una redistribucin de claves, tanto en el ndice como en las pginas hojas.

Ejemplo del caso 1:

Ejemplo del caso 2:

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