Partitioning space for range queries
Yao, F.
Dobkin, David
Edelsbrunner, Herbert
Paterson, Michael
It is shown that, given a set S of n points in $R^3 $, one can always find three planes that form an eight-partition of S, that is, a partition where at most ${n / 8}$ points of S lie in each of the eight open regions. This theorem is used to define a data structure, called an octant tree, for representing any point set in $R^3 $. An octant tree for n points occupies $O(n)$ space and can be constructed in polynomial time. With this data structure and its refinements, efficient solutions to various range query problems in two and three dimensions can be obtained, including (1) half-space queries: find all points of S that lie to one side of any given plane; (2) polyhedron queries: find all points that lie inside (outside) any given polyhedron; and (3) circle queries in $R^2 $: for a planar set S, find all points that lie inside (outside) any given circle. The retrieval time for all these queries is $T(n) = O(n^\alpha + m)$, where $\alpha = 0.8988$ (or 0.8471 in case (3)), and m is the size of the output. This performance is the best currently known for linear-space data structures that can be deterministically constructed in polynomial time.
SIAM
1989
info:eu-repo/semantics/article
doc-type:article
text
http://purl.org/coar/resource_type/c_6501
https://research-explorer.ista.ac.at/record/4083
Yao F, Dobkin D, Edelsbrunner H, Paterson M. Partitioning space for range queries. <i>SIAM Journal on Computing</i>. 1989;18(2):371-384. doi:<a href="https://doi.org/10.1137/0218025">10.1137/0218025</a>
eng
info:eu-repo/semantics/altIdentifier/doi/10.1137/0218025
info:eu-repo/semantics/altIdentifier/issn/0097-5397
info:eu-repo/semantics/altIdentifier/issn/1095-7111
info:eu-repo/semantics/openAccess