Академический Документы
Профессиональный Документы
Культура Документы
Grupo:N 4
Integrantes:
Un rbol multicamino posee un grado g mayor a dos, donde cada nodo de informacin
del rbol tiene un mximo de g hijos.
A est vaco
Cada nodo de A muestra la siguiente
estructura: [nClaves,Enlace0,Clave1,...,ClavenClaves,EnlacenClaves] nClaves es el
Clavei, son los valores de clave, pudiendo ser: 1 <= i <= nClaves
Enlacei, son los enlaces a los subrboles de A, pudiendo ser: 0 <= i <= nClaves
Los subrboles Enlacei, donde 0 <= i <= nClaves , son tambin rboles
m-caminos.
Existen muchas aplicaciones en las que el volumen de la informacin es tal, que los datos
no caben en la memoria principal y es necesario almacenarlos, organizados en archivos,
en dispositivos de almacenaminento secundario. Esta organizacin de archivos debe ser
suficientemente adecuada como para recuperar los datos del mismo en forma eficiente.
1.-Familia de rboles B, B*, B+ y R.
rboles-B
B-rbol es un rbol de bsqueda que puede estar vaco o aquel cuyos nodos pueden
tener varios hijos, existiendo una relacin de orden entre ellos, tal como muestra el
dibujo.
Un rbol-B de orden M (el mximo nmero de hijos que puede tener cada nodo) es un
rbol que satisface las siguientes propiedades:
Estructura de Nodos
Cada elemento de un nodo interno acta como un valor separador, que lo divide en
subrboles. Por ejemplo, si un nodo interno tiene tres nodos hijo, debe tener dos valores
separadores o elementos a1 y a2. Todos los valores del subrbol izquierdo deben ser
menores a a1, todos los valores del subrbol del centro deben estar entre a1 y a2, y todos
los valores del subrbol derecho deben ser mayores a a2.
Los nodos internos de un rbol B, es decir los nodos que no son hoja, usualmente se
representan como un conjunto ordenado de elementos y punteros a los hijos. Cada
nodo interno contiene un mximo de U hijos y, con excepcin del nodo raz, un mnimo
de L hijos. Para todos los nodos internos exceptuando la raz, el nmero de elementos
es uno menos que el nmero de punteros a nodos. El nmero de elementos se
encuentra entre L-1 y U-1. El nmero U debe ser 2L o 2L-1, es decir, cada nodo interno
est por lo menos a medio llenar. Esta relacin entre U y L implica que dos nodos que
estn a medio llenar pueden juntarse para formar un nodo legal, y un nodo lleno puede
dividirse en dos nodos legales (si es que hay lugar para subir un elemento al nodo padre).
Estas propiedades hacen posible que el rbol B se ajuste para preservar sus propiedades
ante la insercin y eliminacin de elementos.
Los nodos hoja tienen la misma restriccin sobre el nmero de elementos, pero no
tienen hijos, y por tanto carecen de punteros.
El nodo raz tiene lmite superior de nmero de hijos, pero no tiene lmite inferior. Por
ejemplo, si hubiera menos de L-1 elementos en todo el rbol, la raz sera el nico nodo
del rbol, y no tendra hijos.
Un rbol B de altura n+1 puede contener U veces por elementos ms que un rbol B de
profundidad n, pero el costo en la bsqueda, insercin y eliminacin crece con la altura
del rbol. Como todo rbol balanceado, el crecimiento del costo es ms lento que el del
nmero de elementos.
Algunos rboles balanceados guardan valores slo en los nodos hoja, y por lo tanto sus
nodos internos y nodos hoja son de diferente tipo. Los rboles B guardan valores en cada
nodo, y pueden utilizar la misma estructura para todos los nodos. Sin embargo, como
los nodos hoja no tienen hijos, una estructura especial para stos mejora el
funcionamiento.
Class nodo rbol B en c++
struct stclave {
int valor;
long registro;
};
class bnodo {
public:
bnodo (int nClaves); // Constructor
~bnodo (); // Destructor
private:
int clavesUsadas;
stclave *clave;
bnodo **puntero;
bnodo *padre;
Algoritmo
Insercin
Un algoritmo mejorado admite una sola pasada por el rbol desde la raz, hasta el nodo
donde la insercin tenga lugar, dividiendo todos los nodos que estn llenos encontrados
a su paso. Esto evita el costo de volver a cargar en memoria los nodos padres (lo que
puede llegar a ser caro si los nodos se encuentran en una memoria secundaria). Sin
embargo, para usar este algoritmo mejorado, debemos ser capaces de enviar un
elemento al nodo padre y dividir el resto U-2 elementos en 2 nodos legales, sin aadir
un nuevo elemento. Esto requiere que U=2L en lugar de U=L-1, lo que explica por qu
algunos libros de texto imponen este requisito en la definicin de rboles-B.
Eliminacin
Se pueden dar dos problemas al eliminar elementos. Primero, el elemento puede ser un
separador de un nodo interno. Segundo, puede suceder que al borrar el elemento
nmero de elementos del nodo quede debajo de la cota mnima. Estos problemas se
tratan a continuacin en orden.
En el segundo caso, uno de los dos nodos hijos tienen un nmero de elementos mayor
que el mnimo. Entonces izquierdo o el menor elemento del nuevo separador.
rbol B+
Un rbol B+ simple (una variacin del rbol B) que enlaza los elementos 1 al 7 a valores
de datos d1-d7. Note la lista enlazada (en rojo) que permite el recorrido de los
elementos en orden.
En ciencias de la computacin, un rbol B+ es un tipo de estructura de datos de rbol,
representa una coleccin de datos ordenados de manera que se permite una insercin
y borrado eficientes de elementos. Es un ndice, multinivel, dinmico, con un lmite
mximo y mnimo en el nmero de claves por nodo. Un rbol B+ es una variacin de
un rbol B.
En un rbol B+, toda la informacin se guarda en las hojas. Los nodos internos slo
contienen claves ypunteros. Todas las hojas se encuentran en el mismo nivel, que
corresponde al ms bajo. Los nodos hoja se encuentran unidos entre s como una lista
enlazada para permitir principalmente recuperacin en rango mediante bsqueda
secuencial.
Caractersticas
Cantidades de Claves
Los rboles-R o R-rboles son estructuras de datos de tipo rbol similares a los rboles-
B, con la diferencia de que se utilizan para mtodos de acceso espacial, es decir, para
indexar informacin multidimensional; por ejemplo, las coordenadas (x, y) de un lugar
geogrfico. Un problema con aplicacin prctica en el mundo real podra ser: "Encontrar
todos los museos en un radio de dos kilmetros alrededor de la posicin actual".
Los algoritmos de insercin y borrado utilizan los conjuntos lmite de los nodos para
asegurar que elementos cercanos estn localizados en la misma hoja (en particular, un
nuevo elemento ser insertado en la hoja que requiera el menor aumento del conjunto
lmite). Cada entrada de una hoja contiene dos datos: una forma de identificar el
elemento actual (que, alternativamente, podra estar directamente en el nodo) y el
conjunto lmite de ese elemento.
De forma similar, los algoritmos de bsqueda utilizan los conjuntos lmite para decidir
en qunodo buscar. De este modo, la mayora de los nodos del rbol nunca son
examinados durante una bsqueda. Esto hace que este tipo de rboles (como los
rboles-B) sean idneos para el trabajo con bases de datos.
Se pueden utilizar distintos algoritmos para dividir nodos cuando estos crecen
demasiado, resultando subtipos de rbol-R cuadrticos y lineales.
rbol B*
Un rbol-B* es una estructura de datos de rbol, una variante de rbol-B utilizado en los
sistemas de ficheros HFS y Reiser4, que requiere que los nodos no raz estn por lo
menos a 2/3 de ocupacin en lugar de 1/2. Para mantener esto los nodos, en lugar de
generar inmediatamente un nodo cuando se llenan, comparten sus claves con el nodo
adyacente. Cuando ambos estn llenos, entonces los dos nodos se transforman en tres.
Tambin requiere que la clave ms a la izquierda no sea usada nunca.
No se debe confundir un rbol-B* con un rbol-B+, en el que los nodos hoja del rbol
estn conectados entre s a travs de una lista enlazada, aumentando el coste de
insercin para mejorar la eficiencia en la bsqueda.
2.-Arboles digitales
Suponga que los elementos de un conjunto se pueden representar como una secuencia
de bits:
X = b0b1b2...bk
Suponga que se desea insertar el elemento X en el rbol digital. Se realiza una bsqueda
infructuosa de X hasta llegar a una hoja, suponga que el ltimo bit utilizado en la
bsqueda fuebk. Si la hoja esta vaca, se almacena X en dicha hoja. En caso contrario, se
divide la hoja utilizando el siguiente bit del elemento, bk+1, y se repite el procedimiento,
si es necesario, hasta que quede slo un elemento por hoja.
Con este proceso de insercin, la forma que obtiene el rbol digital es insensible al orden
de insercin de los elementos.
Eliminacin en un rbol digital
Hn son los nmeros armnicos y P(n) es una funcin peridica de muy baja amplitud
(O(10-6))
3.-rbole B+ de Prefijos
La tcnica ms simple para elegir el nico prefijo ms corto de la clave para servir
como separador da resultado. En el ejemplo, el prefijo ms corto de 'electronic' es
suficiente para distinguirlo de 'computer'. Algunas veces, sin embargo, la tcnica del
prefijo no funciona bien: eligiendo el prefijo ms corto de 'programers' para distinguirlo
de 'programer' no resulta del todo correcto. En cada uno de los casos, Bayer y Unterauer
sugieren explora unas pequeas claves cercanas para obtener una buena pareja para el
algoritmo de separacin. Mientras esto pueda dejar los nodos desigualmente cargados,
teniendo no mucha cantidad de claves extra en uno de los nodos, no afectar al coste
global.
4.-Conclusiones
Ahora que comprendemos cmo reacciona el optimizador ante las tcnicas descriptas,
analicemos un escenario en el que se muestran claramente las aplicaciones respectivas
de los ndices de mapas de bits y de los de rbol B.
Habiendo creado un ndice de mapa de bits para la columna GENDER, creemos otro del
mismo tipo asociado a la columna SAL y, a continuacin, ejecutemos algunas consultas.
Las consultas volvern a ejecutarse con ndices de rbol B asociados a esas columnas.
5.-Bibliografia