This repository is a hands-on environment for learning, implementing, and testing B-Trees. A foundational data structure used in storage systems, databases, and file systems.
B-Trees are core to efficient indexing and data retrieval in large-scale systems. This repo serves as an educational testbed to:
- Implement a B-Tree from scratch
- Understand node splitting, merging, and rebalancing
- Write and run unit tests to validate correctness
- Starter code for B-Tree node structure and insert/delete operations
- Pre-written unit tests using Catch2
print_tree
function for visual debugging- Graphviz-compatible output for use with the B-Tree Visualizer
To compile and run all unit tests, simply run:
make clean
make
./btree_test
You can check out the test branch and implement the umimplemented functions and run the tests to check your implementaion.