KD-Tree a data type to represent a set of points in the unit square using a 2d-tree to support efficient range search and nearest-neighbor search