Expand description
Ball tree for efficient nearest neighbor searches
Ball trees are spatial data structures that organize points in a metric space into a tree structure. Each node represents a hypersphere (ball) that contains a subset of the points. This implementation shares similarities with KD-tree, but can be more efficient for high-dimensional data or when using general distance metrics beyond Euclidean.
§Features
- Fast construction of ball trees with customizable leaf size
- Nearest neighbor queries with configurable k
- Range queries to find all points within a distance
- Support for all distance metrics defined in the distance module
- Suitable for high-dimensional data where KD-trees become less efficient
§References
- Omohundro, S.M. (1989) “Five Balltree Construction Algorithms”
- Liu, T. et al. (2006) “An Investigation of Practical Approximate Nearest Neighbor Algorithms”
- scikit-learn ball tree implementation
Structs§
- Ball
Tree - Ball tree for efficient nearest neighbor searches