,
Yakov Nekrich
,
Frank Staals
Creative Commons Attribution 4.0 International license
Inspired by the classical fractional cascading technique [Bernard Chazelle and Leonidas J. Guibas, 1986; Bernard Chazelle and Leonidas J. Guibas, 1986], we introduce new techniques to speed up the following type of iterated search in 3D: The input is a graph 𝐆 with bounded degree together with a set H_v of 3D hyperplanes associated with every vertex of v of 𝐆. The goal is to store the input such that given a query point q ∈ ℝ³ and a connected subgraph 𝐇 ⊂ 𝐆, we can decide if q is below or above the lower envelope of H_v for every v ∈ 𝐇. We show that using linear space, it is possible to answer queries in roughly O(log n + |𝐇|√{log n}) time which improves trivial bound of O(|𝐇|log n) obtained by using planar point location data structures. Our data structure can in fact answer more general queries (it combines with shallow cuttings) and it even works when 𝐇 is given one vertex at a time. We show that this has a number of new applications and in particular, we give improved solutions to a set of natural data structure problems that up to our knowledge had not seen any improvements.
We believe this is a very surprising result because obtaining similar results for the planar point location problem was known to be impossible [Chazelle and Liu, 2004].
@InProceedings{afshani_et_al:LIPIcs.SoCG.2025.3,
author = {Afshani, Peyman and Nekrich, Yakov and Staals, Frank},
title = {{Convexity Helps Iterated Search in 3D}},
booktitle = {41st International Symposium on Computational Geometry (SoCG 2025)},
pages = {3:1--3:14},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-370-6},
ISSN = {1868-8969},
year = {2025},
volume = {332},
editor = {Aichholzer, Oswin and Wang, Haitao},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SoCG.2025.3},
URN = {urn:nbn:de:0030-drops-231558},
doi = {10.4230/LIPIcs.SoCG.2025.3},
annote = {Keywords: Data structures, range searching}
}