Optimized 2D Ball Trees - Retondaro, Luis Carlos dos Santos Coutinho; Esperança, Claudio (Anais da Conference on Graphics, Patterns and Images (SIBGRAPI); 2021: Anais da XXXIV Conference on Graphics, Patterns and Images, 2021)
Ball trees are hierarchical bounding structures – usually binary trees – where each node consists of a ball (circle, sphere, etc) enclosing its children. Approaches for building an optimal ball tree for a given set of leaves (points or balls enclosing other geometric primitives) typically rely on minimizing some function of the shape of the tree, regardless of the intended application. In this paper we examine the problem of building ball trees for 2D primitives, trying to balance construction time with the efficiency of the produced trees with respect to a set of distance-based queries. In particular, we present three new construction algorithms, propose an optimization whereby each internal node is the smallest ball enclosing all leaves rooted at that node, and describe enhancements to several distance query algorithms. Moreover, an extensive experimental study was conducted in order to evaluate our algorithms with different kinds of data sets, including ball collections that approximate 2D shapes.