Skip to main navigation Skip to search Skip to main content

Segment Proximity Graphs and Nearest Neighbor Queries Amid Disjoint Segments

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    2 Scopus citations

    Abstract

    In this paper we study a few proximity problems related to a set of pairwise-disjoint segments in R2. Let S be a set of n pairwise-disjoint segments in R2, and let r > 0 be a parameter. We define the segment proximity graph of S to be Gr(S):= (S,E), where E = {(e1,e2) | dist(e1,e2) ≤ r} and dist(e1,e2) = min(p,q)∈ee2 ∥p − q∥ is the Euclidean distance between e1 and e2. We define the weight of an edge (e1,e2) ∈ E to be dist(e1,e2). We first present a simple grid-based O(nlog2 n)-time algorithm for computing a BFS tree of Gr(S). We apply it to obtain an O(n6/5)+O(nlog2 nlog ∆)-time algorithm for the so-called reverse shortest path problem, in which we want to find the smallest value r for which Gr∗(S) contains a path of some specified length between two designated start and target segments (where the O(·) notation hides polylogarithmic factors). Here ∆ = maxee∈S dist(e,e)/minee∈S dist(e,e) is the spread of S. Next, we present a dynamic data structure that can maintain a set S of pairwise-disjoint segments in the plane under insertions/deletions, so that, for a query segment e from an unknown set Q of pairwise-disjoint segments, such that e does not intersect any segment in (the current version of) S, the segment of S closest to e can be computed in O(log5 n) amortized time. The amortized update time is also O(log5 n). We note that if the segments in S∪Q are allowed to intersect then the known lower bounds on halfplane range searching suggest that a sequence of n updates and queries may take at least close to Ω(n4/3) time. One thus has to strongly rely on the non-intersecting property of S and Q to perform updates and queries in O(polylog(n)) (amortized) time each. Using these results on nearest-neighbor (NN) searching for disjoint segments, we show that a DFS tree (or forest) of Gr(S) can be computed in O(n) time. We also obtain an O(n)-time algorithm for constructing a minimum spanning tree of Gr(S). Finally, we present an O(n4/3)-time algorithm for computing a single-source shortest-path tree in Gr(S). This is the only result that does not exploit the disjointness of the input segments.

    Original languageEnglish
    Title of host publication32nd Annual European Symposium on Algorithms, ESA 2024
    EditorsTimothy Chan, Johannes Fischer, John Iacono, Grzegorz Herman
    PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
    ISBN (Electronic)9783959773386
    DOIs
    StatePublished - 1 Sep 2024
    Event32nd Annual European Symposium on Algorithms, ESA 2024 - London, United Kingdom
    Duration: 2 Sep 20244 Sep 2024

    Publication series

    NameLeibniz International Proceedings in Informatics, LIPIcs
    Volume308
    ISSN (Print)1868-8969

    Conference

    Conference32nd Annual European Symposium on Algorithms, ESA 2024
    Country/TerritoryUnited Kingdom
    CityLondon
    Period2/09/244/09/24

    Keywords

    • BFS
    • DFS
    • dynamic data structures
    • nearest neighbor searching
    • segment proximity graphs
    • unit-disk graphs

    ASJC Scopus subject areas

    • Software

    Fingerprint

    Dive into the research topics of 'Segment Proximity Graphs and Nearest Neighbor Queries Amid Disjoint Segments'. Together they form a unique fingerprint.

    Cite this