We present an efficient algorithm for solving the "smallest k-enclosing circle" (kSC) problem: Given a set of n points in the plane and an integer k ≤ n, find the smallest disk containing k of the points. We present two solutions. When using O(nk) storage, the problem can be solved in time O(nk log2 n). When only O(n log n) storage is allowed, the running time is O(nk log2 n log n/k). We also extend our technique to obtain efficient solutions of several related problems (with similar time and storage bounds). These related problems include: finding the smallest homothetic copy of a given convex polygon P which contains k points from a given planar set, and finding the smallest disk intersecting k segments from a given planar set of non-intersecting segments.
- Geometric optimization
- Smallest enclosing circle