Data structures and algorithms 3: multi-dimensional searching and computational geometry
Data structures and algorithms 3: multi-dimensional searching and computational geometry
Adding range restriction capability to dynamic data structures
Journal of the ACM (JACM)
Computational geometry: an introduction
Computational geometry: an introduction
Minimally covering a horizontally convex orthogonal polygon
SCG '86 Proceedings of the second annual symposium on Computational geometry
An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles
IEEE Transactions on Computers
Hi-index | 0.00 |
First, we propose a general framework that captures many of the variations on visibility found in the literature. Second, we investigate two specific variations: rectangular and square visibility.Given a set of n points in the plane, two points are said to be rectangularly visible if the orthogonal rectangle with the two points as opposite vertices has no other point of the set in its interior. In this paper it is shown that all pairs of rectangularly visible points in a set of size n can be determined in &Ogr;(n log n + k) time, where k is the number of reported pairs, using &Ogr;(n) space. Also, we consider the query problem: Given a set V and an arbitrary point p1 determine those points in V that are rectangularly visible from p. A dynamic data structure is described that uses &Ogr;(n log n) space, has a query time of &Ogr;(k + log2 n), and an update time of &Ogr;(log3 n).Using a similar approach, we are able, in 3-dimensions, to solve the all pairs problem in &Ogr;((n+ k log2 n) time and &Ogr;((n + k) log n) space. The query problem in 3-dimensions, can be solved in &Ogr;((1+k) log2 n) time using &Ogr;(n log3 n).Given a set of n points in the plane, two points are said to be squarely visible if there is an orthogonal square containing the two points but has no other point of the set in its interior. We provide an &Ogr;(n log n) time and &Ogr;(n) space algorithm to determine all visibility pair. In this case the algorithm is based on a solution to the query problem that requires &Ogr;(n) space, has a query time of &Ogr;((1+k) log n), and an update time of &Ogr;(log n).