domingo, 7 de abril de 2013

Árbol B en C++



Constituyen una categoría muy importante de estructuras de datos,que permiten una implementación eficiente de conjuntos y diccionarios, para operaciones de consulta y acceso secuencial. Existe una gran variedad de árboles B: los árboles B,B+ y B*; pero todas ellas están basadas en la misma idea, la utilización de árboles de búsqueda no binarios y con condición de balanceo. En concreto, los árboles B+ son ampliamente utilizados en la representación de índices en bases de datos. De hecho, este tipo de árboles están diseñados específicamente para aplicaciones de bases de datos, donde la característica fundamental es la predominancia del tiempo de las operaciones de entrada/salida de disco en el tiempo de ejecución total. En consecuencia, se busca minimizar el número de operaciones de lectura o escritura de bloques de datos del disco duro o soporte físico.
Las operaciones que se pueden realizar en un árbol-B son básicamente tres: Insertar una clave, eliminar una clave, buscar una clave.
Las características que debe cumplir un árbol-B son:
  • Un parámetro muy importante en los árboles-B es el ORDEN (m). El orden de un árbol-B es el número máximo de ramas que pueden partir de un nodo.
  • Si n es el número de ramas que parten de un nodo de un árbol-b, el nodo contendrá n-1 claves.
  • El árbol está ordenado.
  • Todos los nodos terminales, (nodos hoja), están en el mismo nivel.
  • Todos los nodos intermedios, excepto el raiz, deben tener entre m/2 y m ramas no nulas.
  • El máximo número de claves por nodo es m-1.
  • El mínimo número de claves por nodo es (m/2)-1.
  • La profundidad (h) es el número máximo de consultas para encontrar una clave
Este fue mi trabajo de 2° Ciclo en Info – Unt 

1 comentario:

Related Posts Plugin for WordPress, Blogger...