Kinetic Data Structures for the Semi-Yao Graph and All Nearest Neighbors in Rd
Abstract
This paper presents a simple kinetic data structure for maintaining all the nearest neighbors of a set of n moving points in Rd, where the trajectory of each point is an algebraic function of at most constant degree s. The approach is based on maintaining the edges of the Semi-Yao graph, a sparse graph whose edge set includes the pairs of nearest neighbors as a subset. Our kinetic data structure (KDS) for maintaining all the nearest neighbors is deterministic. It processes O(n2β2s+22(n) n) events with a total cost of O(n2β2s+2(n)d+1 n). Here, βs(n) is an extremely slow-growing function. The best previous KDS for all the nearest neighbors in Rd is by Agarwal, Kaplan, and Sharir (TALG 2008). It is a randomized result. Our structure and analysis are simpler than theirs. Also, we improve their result by a factor of d n in the number of events and by a n factor in the total cost. This paper generalizes and improves the 2013 work of Rahmati, King and Whitesides (SoCG 2013) on maintaining the Semi-Yao graph in R2; its new technique provides the first KDS for the Semi-Yao graph in Rd. Our KDS is local in the worst case, meaning that only a constant number of events is associated with any one point at any time. For maintaining all the nearest neighbors, neither our KDS nor the KDS by Agarwal~ηl~is local, and furthermore, each event in our KDS and in their KDS is handled in polylogarithmic time in an amortized sense. Finally, in this paper, we also give a KDS for maintenance of all the (1+ε)-nearest neighbors which is local and each event can be handled in a polylogarithmic worst-case time.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.