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

Hay dos métodos básicos:

De abajo hacia arriba : busque el nodo hoja apropiado y agregue su entrada. Si esto hace que el nodo se desborde, divídalo en dos y empuje la entrada central hacia el padre del nodo. Continúe recurriendo hacia arriba hasta que la inserción en un padre no cause desbordamiento (o haya creado una nueva raíz).

Arriba hacia abajo Recorre el árbol hacia el nodo de hoja apropiado. Si un nodo secundario está lleno, divídalo antes de continuar por el camino.

En el último método, si el nodo hoja no estaba lleno, el resultado sería una serie de divisiones innecesarias. Sin embargo, no es necesario bloquear todo el árbol hasta que finalice la inserción. Una vez que haya atravesado un nodo hijo, el padre puede desbloquearse para que otros usuarios puedan realizar inserciones simultáneamente en otras partes del árbol.

En cuanto a los enlaces a algún código, mi favorito es B-Tree | Conjunto 1 (Introducción) – GeeksforGeeks. La codificación es C ++ pero se convierte fácilmente en C.

Campo de golf:

B-Tree | Set 1 (Introducción) – GeeksforGeeks

B-Tree | Conjunto 2 (Insertar) – GeeksforGeeks

El conjunto 2 explica la inserción.

Espero que esto ayude 🙂

Hola aqui tienes La inserción y eliminación han sido bien explicadas

CSci 340: árboles B +

Espero que esto ayude 🙂

More Interesting

¿Por qué no puedo resolver mi Cubo de Rubik de 4 x 4 x 4 como un cubo de Rubik de 3 x 3 x 3 si ya he hecho los centros y los bordes?

¿Cuáles son algunos programas / algoritmos recursivos interesantes (como la Torre de Hanoi y N-Queens)?

Cómo mejorar mis estructuras de datos y algoritmo desde el nivel básico

¿Cuál: Estructura de datos y pensamiento algorítmico con Python (Narasimha Karumanchi) o Estructuras de datos y algoritmos en Python (Michael T. Goodrich)?

Supongamos que tenemos una matriz 8 * 8. Cada celda tiene 0 o 1. Se le dará una ubicación y deberá encontrar todas las que se encuentran en la misma isla. ¿Los puntos se encuentran en la misma isla si un punto está en alguna de las celdas adyacentes?

Cómo determinar si un algoritmo informático es complejo o no

¿Por qué las funciones de límite superior e inferior en C ++ STL dan diferentes índices para el mismo número?

¿Qué algoritmos funcionan detrás de los botones de seguir de Quora e Instagram?

¿Qué proyectos usan algoritmos de redes neuronales?

¿Cuál es el enfoque para resolver Gráficos Chef y Bipartitos?

Cómo encontrar subrangos no decrecientes y no crecientes en una matriz

Actualmente estoy en USACO Gold, pero apenas puedo resolver nada. ¿Qué debo hacer para ser más competente? ¿Dominar el oro es solo una cuestión de aprender toneladas de algoritmos, o necesita más que eso?

¿Qué aplicación utiliza el algoritmo?

Si estoy usando Java para la codificación competitiva, ¿tendré problemas de tiempo más tarde por parte de jueces en línea cuando me sumerja en estructuras de datos y algoritmos?

¿Cómo se ordenan 10 números en orden creciente?