Árboles B en Factorio
(razberry.substack.com)Aprendiendo sobre los árboles B
-
Árboles binarios de búsqueda (Binary Search Trees, BSTs): cada nodo tiene una clave; el nodo izquierdo tiene valores de clave más bajos y el nodo derecho, valores de clave más altos.
-
Los BST solo funcionan cuando las claves se pueden ordenar, y si los valores se agregan solo hacia un lado, se pierde el equilibrio y baja la eficiencia.
-
Un BST desequilibrado puede corregirse mediante pivoteo, pero no es adecuado para almacenamiento en disco (requiere reequilibrado frecuente y los nodos adyacentes pueden almacenarse en páginas distintas).
-
Árboles B (B-Trees): están compuestos por nodos con más claves y punteros que un árbol binario.
-
Cada nodo tiene varias claves y varios punteros según cada clave (por ejemplo, un nodo con claves 17 y 24 tiene punteros a nodos con claves menores que 17, entre 17 y 24, y mayores que 24).
Implementación de árboles B en Factorio
- Implementación simple de un árbol binario de búsqueda en Factorio (juego de construcción de fábricas): cada nodo está compuesto por un cofre de madera (clave) y dos rutas (punteros).
- Como no hay una forma de comparar el valor de los materiales, se les asigna un orden arbitrario y se comparan usando brazos con filtro.
- La implementación de un árbol B es más compleja: cada nodo tiene tres claves y punteros a cuatro nodos hijo.
- Un árbol B puede almacenar más información y, en lugar de ordenar manualmente los ítems, el árbol se deja vacío hasta encontrar después una mejor forma de representación.
La opinión de GN⁺
- Lo más importante de este artículo es entender el concepto de los árboles B y el enfoque creativo de implementarlos dentro del juego Factorio.
- Lo interesante para los lectores es que ofrece una oportunidad de comprender de forma visual e intuitiva estructuras de datos complejas de la informática a través de un juego.
- Este enfoque hace que el aprendizaje sea más divertido y atractivo, y propone una nueva manera de explorar conceptos básicos de ingeniería de software mediante un medio no tradicional como los juegos.
1 comentarios
Comentarios en Hacker News