An in-memory generic B-tree data structure in Go.
go get github.com/dxtym/btree
- Insert: Add a key-value item
- Search: Find a value by key
- Remove: Delete an item by key
- Traverse: Get all items in order
b, err := btree.New[int, string](3)
if err != nil {
panic(err)
}
for range 100 {
key := rand.Intn(100)
b.Insert(key, strconv.Itoa(key))
}
if value, err := b.Search(42); err != nil {
panic(err)
}
if err := b.Remove(42); err != nil {
panic(err)
}
- Make concurrent safe
- Add benchmarks tests
- Optimize memory usage
MIT License. See LICENSE for details.