Diferencia entre árbol B y árbol B+

B-Tree : B-Tree se conoce como un árbol autoequilibrado ya que sus Nodes se ordenan en orden transversal. En B-tree, un Node puede tener más de dos hijos. B-tree tiene una altura de logM N (donde ‘M’ es el orden del árbol y N es el número de Nodes). Y la altura se ajusta automáticamente en cada actualización. En el árbol B, los datos se clasifican en un orden específico, con el valor más bajo a la izquierda y el valor más alto a la derecha. Insertar los datos o la clave en B-tree es más complicado que un árbol binario. Algunas condiciones deben ser mantenidas por el B-Tree:

  • Todos los Nodes hoja del árbol B deben estar al mismo nivel.
  • Por encima de los Nodes hoja del árbol B, no debe haber subárboles vacíos.
  • B- la altura del árbol debe ser lo más baja posible.

 

Árbol B+ El árbol B+ elimina el inconveniente del árbol B utilizado para la indexación al almacenar punteros de datos solo en los Nodes de hoja del árbol. Por tanto, la estructura de los Nodes hoja de un árbol B+ es bastante diferente de la estructura de los Nodes internos del árbol B. Cabe señalar aquí que, dado que los punteros de datos están presentes solo en los Nodes de hoja, los Nodes de hoja deben almacenar necesariamente todos los valores clave junto con sus correspondientes punteros de datos en el bloque de archivos del disco, para acceder a ellos. Además, los Nodes hoja están vinculados para proporcionar un acceso ordenado a los registros. Los Nodes hoja, por lo tanto, forman el primer nivel del índice, y los Nodes internos forman los otros niveles de un índice multinivel. Algunos de los valores clave de los Nodes hoja también aparecen en los Nodes internos, para actuar simplemente como un medio para controlar la búsqueda de un registro. 

Veamos la diferencia entre el árbol B y el árbol B+:

Base de comparación árbol B árbol B+
Punteros Todos los Nodes internos y secundarios tienen punteros de datos. Solo los Nodes de hoja tienen punteros de datos
Búsqueda Dado que no todas las claves están disponibles en la hoja, la búsqueda suele llevar más tiempo. Todas las claves están en los Nodes hoja, por lo que la búsqueda es más rápida y precisa.
Teclas redundantes No se mantiene ningún duplicado de claves en el árbol. Se mantienen duplicados de claves y todos los Nodes están presentes en la hoja.
Inserción La inserción lleva más tiempo y, a veces, no es predecible. La inserción es más fácil y los resultados son siempre los mismos.
Supresión La eliminación del Node interno es muy compleja y el árbol debe sufrir muchas transformaciones. La eliminación de cualquier Node es fácil porque todos los Nodes se encuentran en la hoja.
Nodes de hoja Los Nodes hoja no se almacenan como lista enlazada estructural. Los Nodes hoja se almacenan como lista enlazada estructural.
Acceso El acceso secuencial a los Nodes no es posible El acceso secuencial es posible al igual que la lista enlazada
Altura Para un número particular, la altura de los Nodes es mayor La altura es menor que el árbol B para el mismo número de Nodes
Solicitud B-Trees utilizados en bases de datos, motores de búsqueda Árboles B+ utilizados en indexación multinivel, indexación de bases de datos
Número de Nodes El número de Nodes en cualquier nivel intermedio ‘l’ es 2 l . Cada Node intermediario puede tener de n/2 a n hijos.

Publicación traducida automáticamente

Artículo escrito por gvenkatsai93 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *