9 research outputs found

    Contractions, Removals and How to Certify 3-Connectivity in Linear Time

    Get PDF
    It is well-known as an existence result that every 3-connected graph G=(V,E) on more than 4 vertices admits a sequence of contractions and a sequence of removal operations to K_4 such that every intermediate graph is 3-connected. We show that both sequences can be computed in optimal time, improving the previously best known running times of O(|V|^2) to O(|V|+|E|). This settles also the open question of finding a linear time 3-connectivity test that is certifying and extends to a certifying 3-edge-connectivity test in the same time. The certificates used are easy to verify in time O(|E|).Comment: preliminary versio

    An Optimal Algorithm for Higher-Order Voronoi Diagrams in the Plane: The Usefulness of Nondeterminism

    Full text link
    We present the first optimal randomized algorithm for constructing the order-kk Voronoi diagram of nn points in two dimensions. The expected running time is O(nlog⁡n+nk)O(n\log n + nk), which improves the previous, two-decades-old result of Ramos (SoCG'99) by a 2O(log⁡∗k)2^{O(\log^*k)} factor. To obtain our result, we (i) use a recent decision-tree technique of Chan and Zheng (SODA'22) in combination with Ramos's cutting construction, to reduce the problem to verifying an order-kk Voronoi diagram, and (ii) solve the verification problem by a new divide-and-conquer algorithm using planar-graph separators. We also describe a deterministic algorithm for constructing the kk-level of nn lines in two dimensions in O(nlog⁡n+nk1/3)O(n\log n + nk^{1/3}) time, and constructing the kk-level of nn planes in three dimensions in O(nlog⁡n+nk3/2)O(n\log n + nk^{3/2}) time. These time bounds (ignoring the nlog⁡nn\log n term) match the current best upper bounds on the combinatorial complexity of the kk-level. Previously, the same time bound in two dimensions was obtained by Chan (1999) but with randomization.Comment: To appear in SODA 2024. 16 pages, 1 figur

    Checking Geometric Programs or Verification of Geometric Structures

    No full text
    A program checker verifies that a particular program execution is correct. We give simple and efficient program checkers for some basic geometric tasks. We report about our experiences with program checking in the context of the LEDA system. We discuss program checking for data structures that have to rely on user-provided functions

    Checking Geometric Programs or Verification of Geometric Structures

    No full text
    corecore