PH-tree (Permutation Hierarchical Tree) implementation in Go.
- Insertion and search operations for multi-dimensional keys
- Removal of key-value pairs from the tree
- Configurable maximum depth of the tree
- Thread-safe concurrent access to the tree
- Efficient handling of high-dimensional and sparse data
Install the phtree package in your Go project by installing it with the following command:
go get github.com/0xnu/phtreeHere's a basic example of how to use the phtree package:
package main
import (
"fmt"
"github.com/0xnu/phtree"
)
func main() {
tree := phtree.New(phtree.WithMaxDepth(8))
tree.Insert([]uint64{0, 1, 2}, "apple")
tree.Insert([]uint64{0, 1, 3}, "banana")
value := tree.Search([]uint64{0, 1, 2})
fmt.Println(value) // Output: "apple"
tree.Remove([]uint64{0, 1, 3})
}Check out the examples directory for more detailed usage and examples.
To run the tests for the PH-Tree package, use the following command:
go testTo run the benchmarking code, you can use the following command:
go run benchmark/benchmark.goThis project is licensed under the MIT License.
(c) 2024 Finbarrs Oketunji.