¿Cuáles son las diferencias entre los árboles b, b + y b *?

b-tree es un árbol de búsqueda binaria generalizado en el que cualquier nodo puede tener más de dos hijos. En b-tree, claves y datos almacenados en nodos internos u hoja. Estos árboles consumen espacio. La búsqueda se vuelve difícil en b-trees ya que no se pueden encontrar datos en el nodo hoja.

B + tree es un árbol n-array con un número variable pero a menudo grande de hijos por nodo. Los datos almacenan solo nodos hoja. Estos árboles no consumen espacio. Los nodos hoja del árbol b + están vinculados, por lo que realizar una búsqueda lineal de todas las claves requerirá solo una pasada a través de todos los nodos hoja, mientras que en btree requeriría un recorrido de cada nivel en el árbol.

El árbol B * es un árbol b en el que el nodo tiene al menos dos tercios lleno en lugar de al menos medio lleno. La idea básica de b * tree es reducir la división del nodo. Cuando un nodo se llena, en lugar de dividirse, se lleva a cabo una quimioterapia de redistribución que apunta desde el nodo completo y los coloca en un nodo hermano.