B+ TREE: Buscar, Insertar y Eliminar Operaciones Ejemplo

¿Qué es un árbol B+?

A Árbol B+ es primariSe utiliza principalmente para implementar indexación dinámica en múltiples niveles. En comparación con el árbol B, el árbol B+ almacena los punteros de datos solo en los nodos de hoja del árbol, lo que hace que el proceso de búsqueda sea más preciso y rápido.

Reglas para el árbol B+

Aquí hay reglas esenciales para B+ Tree.

  • Las hojas se utilizan para almacenar registros de datos.
  • Se almacena en los nodos internos del Árbol.
  • Si el valor de una clave de destino es menor que el nodo interno, entonces se sigue el punto justo a su lado izquierdo.
  • Si el valor de una clave de destino es mayor o igual que el nodo interno, se sigue el punto justo a su lado derecho.
  • La raíz tiene un mínimo de dos hijos.

¿Por qué utilizar el árbol B+?

A continuación se detallan las razones para utilizar B+ Tree:

  • Las claves son primariSe utiliza principalmente para ayudar en la búsqueda dirigiendo a la Hoja adecuada.
  • B+ Tree utiliza un "factor de relleno" para gestionar el aumento y la disminución de un árbol.
  • En los árboles B+, se pueden colocar fácilmente numerosas claves en la página de memoria porque no tienen los datos asociados con los nodos interiores. Por lo tanto, accederá rápidamente a los datos del árbol que se encuentran en el nodo hoja.
  • Un escaneo completo y completo de todos los elementos es un árbol que necesita solo una pasada lineal porque todos los nodos de hoja de un árbol B+ están vinculados entre sí.

Árbol B+ versus árbol B

Aquí están las principales diferencias entre el árbol B+ y el árbol B.

Árbol B+ Árbol B
Las claves de búsqueda se pueden repetir. Las claves de búsqueda no pueden ser redundantes.
Los datos solo se guardan en los nodos hoja. Tanto los nodos hoja como los nodos internos pueden almacenar datos.
Los datos almacenados en el nodo hoja hacen que la búsqueda sea más precisa y rápida. Searching es lento debido a los datos almacenados en Leaf y en los nodos internos.
La eliminación no es difícil ya que un elemento sólo se elimina de un nodo hoja. La eliminación de elementos es un proceso complicado y que requiere mucho tiempo.
Los nodos hoja vinculados hacen que la búsqueda sea eficiente y rápida. No se pueden vincular nodos hoja.

Buscar Operadesarrollo

En B+ Tree, una búsqueda es uno de los procedimientos más fáciles de ejecutar y obtener resultados rápidos y precisos.

El following El algoritmo de búsqueda es aplicable:

  • Para encontrar el registro requerido, debe ejecutar el búsqueda binaria en los registros disponibles en el Árbol.
  • En caso de una coincidencia exacta con la clave de búsqueda, se devuelve al usuario el registro correspondiente.
  • En caso de que la clave exacta no se encuentre mediante la búsqueda en el nodo principal, actual o hoja, se muestra un "mensaje no encontrado".yed para el usuario.
  • El proceso de búsqueda se puede volver a ejecutar para obtener resultados mejores y más precisos.

Buscar OperaAlgoritmo de ción

 1. Call the binary search method on the records in the B+ Tree.
 2. If the search parameters match the exact key
            The accurate result is returned and displayed to the user
          Else, if the node being searched is the current and the exact key is not found by the algorithm
            Display the statement "Recordset cannot be found."

Salida:

Se muestra el registro coincidente establecido con la clave exacta.yed al usuario; otrowise, se muestra al usuario un intento fallido.

recuadro Operadesarrollo

El following El algoritmo es aplicable para la inserción. operación:

  • El 50 por ciento de los elementos de los nodos se trasladan a una nueva hoja para su almacenamiento.
  • El padre de la nueva Hoja está vinculado con precisión con el valor de clave mínimo y una nueva ubicación en el Árbol.
  • Divida el nodo principal en más ubicaciones en caso de que se utilice por completo.
  • Ahora, para obtener mejores resultados, la clave central está asociada con el nodo de nivel superior de esa Hoja.
  • Hasta que no se encuentre el nodo de nivel superior, continúe repitiendo el proceso explicado en los pasos anteriores.

recuadro OperaAlgoritmo de ción

1.	Even inserting at-least 1 entry into the leaf container does not make it full then add the record  
     2. Else, divide the node into more locations to fit more records.
      a. Assign a new leaf and transfer 50 percent of the node elements to a new placement in the tree
      b. The minimum key of the binary tree leaf and its new key address are associated with the top-level node.
      c. Divide the top-level node if it gets full of keys and addresses.
          i. Similarly,  insert a key in the center of the top-level node in the hierarchy of the Tree.
     d. Continue to execute the above steps until a top-level node is found that does not need to be divided anymore. 

3) Build a new top-level root node of 1 Key and 2 indicators.  

Salida:

El algoritmo determinará el elemento y lo insertará con éxito en el nodo hoja requerido.

recuadro Operadesarrollo

El ejemplo de ejemplo del árbol B+ anterior se explica en los pasos siguientes:

  • En primer lugar, tenemos 3 nodos y los primeros 3 elementos, que son 1, 4 y 6, se agregan en las ubicaciones apropiadas de los nodos.
  • El siguiente valor de la serie de datos es 12 y debe formar parte del árbol.
  • Para lograr esto, divida el nodo, agregue 6 como elemento puntero.
  • Ahora, se crea una jerarquía derecha de un árbol y los valores de datos restantes se ajustan en consecuencia teniendo en cuenta las reglas aplicables de valores iguales o mayores que frente a los nodos clave-valor de la derecha.

Borrar Operadesarrollo

El COMplexLa funcionalidad del procedimiento de eliminación en el árbol B+ supera a la de la funcionalidad de inserción y búsqueda.

El following El algoritmo es aplicable al eliminar un elemento del árbol B+:

  • En primer lugar, necesitamos ubicar una entrada de hoja en el árbol que contenga la clave y el puntero. , elimine la entrada de hoja del árbol si la hoja cumple las condiciones exactas de eliminación de registros.
  • En caso de que el nodo hoja sólo cumpla con el factor satisfactorio de estar medio lleno, entonces el operase completa la operación; otrowise, el nodo Hoja tiene entradas mínimas y no se puede eliminar.
  • Los otros nodos vinculados a la derecha y a la izquierda pueden desocupar cualquier entrada y luego moverla a la Hoja. Si no se cumplen estos criterios, entonces se deben combinar el nodo hoja y su nodo vinculado en la jerarquía del árbol.
  • Al fusionar el nodo hoja con sus vecinos a la derecha o a la izquierda, se eliminan las entradas de valores en el nodo hoja o el vecino vinculado que apunta al nodo de nivel superior.

Borrar Operadesarrollo

El ejemplo anterior ilustra el procedimiento para eliminar un elemento del árbol B+ de un orden específico.

  • En primer lugar, en el árbol se identifican las ubicaciones exactas del elemento que se va a eliminar.
  • Aquí el elemento que se va a eliminar sólo se puede identificar con precisión a nivel de hoja y no en la ubicación del índice. Por lo tanto, el elemento se puede eliminar sin afectar las reglas de eliminación, que es el valor de la clave mínima.

Borrar Operadesarrollo

  • En el ejemplo anterior, tenemos que eliminar 31 del árbol.
  • Necesitamos ubicar las instancias de 31 en Index y Leaf.
  • Podemos ver que 31 está disponible tanto en el nivel de nodo Index como en el Leaf. Por lo tanto, lo eliminamos de ambas instancias.
  • Pero tenemos que llenar el índice que apunta a 42. Ahora miraremos al niño correcto menor de 25 años, tomaremos el valor mínimo y lo colocaremos como índice. Entonces, siendo 42 el único valor presente, se convertirá en el índice.

Borrar OperaAlgoritmo de ción

1) Start at the root and go up to leaf node containing the key K
2) Find the node n on the path from the root to the leaf node containing K
    A. If n is root, remove K
         a. if root has more than one key, done
         b. if root has only K
            i) if any of its child nodes can lend a node
               Borrow key from the child and adjust child links
            ii) Otherwise merge the children nodes. It will be a new root
         c. If n is an internal node, remove K
            i) If n has at least ceil(m/2) keys, done!
            ii) If n has less than ceil(m/2) keys,
                If a sibling can lend a key,
                Borrow key from the sibling and adjust keys in n and the parent node
                    Adjust child links
                Else
                    Merge n with its sibling
                    Adjust child links
         d. If n is a leaf node, remove K
            i) If n has at least ceil(M/2) elements, done!
                In case the smallest key is deleted, push up the next key
            ii) If n has less than ceil(m/2) elements
            If the sibling can lend a key
                Borrow key from a sibling and adjust keys in n and its parent node
            Else
                Merge n and its sibling
                Adjust keys in the parent node

Salida:

La clave "K" se elimina y las claves se toman prestadas de los hermanos para ajustar los valores en n y sus nodos principales si es necesario.

Resumen

  • B+ Tree es un árbol autoequilibrado estructura de datos para ejecutar se precisa y más rápidaarching, inserción y eliminación de procedimientos sobre datos.
  • Podemos recuperar fácilmente datos completos o parciales porque recorrer la estructura de árbol vinculado lo hace eficiente.
  • La estructura del árbol B+ crece y se reduce con un aumento o disminución en el número de registros almacenados.
  • El almacenamiento de datos en los nodos hoja y la posterior ramificación de los nodos internos evidentemente acorta la altura del árbol, lo que reduce la entrada y salida del disco. operaciones, consumiendo en última instancia mucho menos espacio en los dispositivos de almacenamiento.