Beyond nearest-neighbor queries, k-d trees can also efficiently handle range searching (finding all points within a specified hyperrectangle or hypersphere), approximate nearest-neighbor queries (by allowing more aggressive pruning to trade accuracy for speed, especially useful in high dimensions), and multi-tree variants (parallel or approximate data structures for large-scale or streaming datasets ). These properties make k-d trees valuable in various scientific computing applications. In molecular modeling-where it is common to query whether any atoms lie within a certain cutoff distance of a given point-k-d trees can be used to carry out these "ball searches" far more efficiently than by naively computing distances to all N atoms.