¿Cuál es el algoritmo para la eliminación en un árbol B +?

Algoritmo de eliminación

Desciende a la hoja donde existe la llave.

  1. Elimine la clave requerida y la referencia asociada del nodo.
  2. Si el nodo todavía tiene suficientes claves y referencias para satisfacer a los invariantes, deténgase.
  3. Si el nodo tiene muy pocas claves para satisfacer a los invariantes, pero su próximo hermano más viejo o más joven en el mismo nivel tiene más de lo necesario, distribuya las claves entre este nodo y el vecino. Repare las claves en el nivel anterior para representar que estos nodos ahora tienen un “punto de división” diferente entre ellos; Esto implica simplemente cambiar una clave en los niveles anteriores, sin eliminación o inserción.
  4. Si el nodo tiene muy pocas claves para satisfacer a la invariante, y el siguiente hermano mayor o menor está al mínimo para la invariante, entonces combine el nodo con su hermano; si el nodo no es una hoja, necesitaremos incorporar la “clave dividida” del padre en nuestra fusión. En cualquier caso, tendremos que repetir el algoritmo de eliminación en el nodo principal para eliminar la “clave dividida” que separó previamente estos nodos fusionados, a menos que el padre sea la raíz y que eliminemos la clave final de la raíz, en cuyo caso el nodo fusionado se convierte en la nueva raíz (y el árbol se ha vuelto un nivel más corto que antes).


Referencias

CSci 340: árboles B +

More Interesting

¿El uso de algoritmos en una clave de contraseña típica de 256 bits que siempre está cambiando pero que aún se muestra al usuario (como en un teléfono, por ejemplo) para crear código requeriría supercomputadoras más rápidas disponibles para superarlo?

Cómo construir un algoritmo automatizado de comercio de acciones utilizando mis estrategias sin tener que contratar un programador

¿Cómo escribo un código C completo, incluidos todos los bucles y las condiciones de la línea de límite para la eliminación del nodo en el árbol de búsqueda binario?

Como principiante, ¿debo invertir mi tiempo en escribir mi propio algoritmo de aprendizaje automático desde cero?

Cómo aprender la estrategia de algoritmos

¿Cómo se distribuye el pagerank?

¿Cuáles son las aplicaciones en tiempo real del algoritmo de Dijkstra?

Visión por computadora: ¿Cuáles son algunas técnicas de detección de bordes ultrarrápidas y eficientes en memoria?

¿Cómo se fragmentan los archivos en el hadoop en 64 MB o 128 MB? ¿Cuál es el algoritmo utilizado para fragmentar los archivos?

¿Qué tipo de algoritmo SLAM es adecuado para una aceleración con FPGA o FPGA-SoC?

¿Cómo podría un algoritmo que crea un cambio en el comportamiento del consumidor crear valor?

Cómo determinar si un conjunto dado se puede dividir en dos subconjuntos o más de modo que la suma de los elementos en esos subconjuntos sea la misma

¿Cuál es el mejor libro para aprender algoritmos?

¿Por qué CLRS no cubre algoritmos como el punto más cercano iterativo (ICP)?

Cómo maximizar el XOR entre un número constante y múltiples matrices con un solo trie si los elementos de la matriz pueden ser comunes