TY - JOUR
T1 - Kinetic and dynamic data structures for closest pair and all nearest neighbors
AU - Agarwal, Pankaj K.
AU - Kaplan, Haim
AU - Sharir, Micha
PY - 2008/11/1
Y1 - 2008/11/1
N2 - We present simple, fully dynamic and kinetic data structures, which are variants of a dynamic two-dimensional range tree, for maintaining the closest pair and all nearest neighbors for a set of n moving points in the plane; insertions and deletions of points are also allowed. If no insertions or deletions take place, the structure for the closest pair uses O(n log n) space, and processes O(n2Βs+2(n)log n) critical events, each in O(log2n) time. Here s is the maximum number of times where the distances between any two specific pairs of points can become equal, Βs(q) = s(q)/q, and s(q) is the maximum length of Davenport-Schinzel sequences of order s on q symbols. The dynamic version of the problem incurs a slight degradation in performance: If m n insertions and deletions are performed, the structure still uses O(n log n) space, and processes O(mnΒs+2(n)log3 n) events, each in O(log3n) time. Our kinetic data structure for all nearest neighbors uses O(n log2 n) space, and processes O(n 2Β2s+2(n)log3 n) critical events. The expected time to process all events is O(n2Β s+22(n) log4n), though processing a single event may take Θ(n) expected time in the worst case. If m n insertions and deletions are performed, then the expected number of events is O(mnΒ2s+2(n) log3n) and processing them all takes O(mnΒ2s+2(n) log4n). An insertion or deletion takes O(n) expected time.
AB - We present simple, fully dynamic and kinetic data structures, which are variants of a dynamic two-dimensional range tree, for maintaining the closest pair and all nearest neighbors for a set of n moving points in the plane; insertions and deletions of points are also allowed. If no insertions or deletions take place, the structure for the closest pair uses O(n log n) space, and processes O(n2Βs+2(n)log n) critical events, each in O(log2n) time. Here s is the maximum number of times where the distances between any two specific pairs of points can become equal, Βs(q) = s(q)/q, and s(q) is the maximum length of Davenport-Schinzel sequences of order s on q symbols. The dynamic version of the problem incurs a slight degradation in performance: If m n insertions and deletions are performed, the structure still uses O(n log n) space, and processes O(mnΒs+2(n)log3 n) events, each in O(log3n) time. Our kinetic data structure for all nearest neighbors uses O(n log2 n) space, and processes O(n 2Β2s+2(n)log3 n) critical events. The expected time to process all events is O(n2Β s+22(n) log4n), though processing a single event may take Θ(n) expected time in the worst case. If m n insertions and deletions are performed, then the expected number of events is O(mnΒ2s+2(n) log3n) and processing them all takes O(mnΒ2s+2(n) log4n). An insertion or deletion takes O(n) expected time.
KW - Closest pair
KW - Computational geometry
KW - Kinetic data structures
KW - Nearest neighbors
UR - http://www.scopus.com/inward/record.url?scp=57849094580&partnerID=8YFLogxK
U2 - 10.1145/1435375.1435379
DO - 10.1145/1435375.1435379
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:57849094580
SN - 1549-6325
VL - 5
JO - ACM Transactions on Algorithms
JF - ACM Transactions on Algorithms
IS - 1
M1 - 4
ER -