scispace - formally typeset
Search or ask a question

Showing papers by "David Eppstein published in 1995"


Proceedings ArticleDOI
22 Jan 1995
TL;DR: In this paper, the subgraph isomorphism problem in planar graphs is solved in linear time, for any pattern of constant size, by partitioning the planar graph into pieces of small tree-width, and applying dynamic programming within each piece.
Abstract: We solve the subgraph isomorphism problem in planar graphs in linear time, for any pattern of constant size. Our results are based on a technique of partitioning the planar graph into pieces of small tree-width, and applying dynamic programming within each piece. The same methods can be used to solve other planar graph problems including connectivity, diameter, girth, induced subgraph isomorphism, and shortest paths.

448 citations


Journal ArticleDOI
TL;DR: This work maintains the minimum spanning tree of a point set in the plane subject to point insertions and deletions, in amortized timeO(n1/2 log2n) per update operation, and uses a novel construction, theordered nearest neighbor path of a set of points.
Abstract: We maintain the minimum spanning tree of a point set in the plane subject to point insertions and deletions, in amortized timeO(n1/2 log2n) per update operation. We reduce the problem to maintaining bichromatic closest pairs, which we solve in timeO(ne) per update. Our algorithm uses a novel construction, theordered nearest neighbor path of a set of points. Our results generalize to higher dimensions, and to fully dynamic algorithms for maintaining minima of binary functions, including the diameter of a point set and the bichromatic farthest pair.

100 citations


Proceedings ArticleDOI
22 Jan 1995
TL;DR: It is shown that any set of n points in IR has a Steiner Delaunay triangulation with O(ndd/2e) simplices, none of which has an obtuse dihedral angle.
Abstract: We show that any set of n points in IR has a Steiner Delaunay triangulation with O(ndd/2e) simplices, none of which has an obtuse dihedral angle. This result improves a naive bound of O(n). No bound depending only on n is possible if we require the maximum dihedral angle to measure at most 90◦−2 or the minimum dihedral to measure

67 citations



Proceedings ArticleDOI
23 Oct 1995
TL;DR: This work gives a fast algorithm for (3,2)-SSS and uses it to improve the time bounds for solving the other problems listed above.
Abstract: We consider worst case time bounds for NP-complete problems including 3-coloring, 3-edge-coloring, and 3-list-coloring. Our algorithms are based on a common generalization of these problems, called symbol-system satisfiability or, briefly, SSS. 3-SAT is equivalent to (2,3)-SSS while the other problems above are special cases of (3,2)-SSS; there is also a natural duality transformation from (a,b)-SSS to (b,a)-SSS. We give a fast algorithm for (3,2)-SSS and use it to improve the time bounds for solving the other problems listed above.

46 citations


Proceedings Article
01 Jan 1995

42 citations


Journal ArticleDOI
TL;DR: An O(nlogn) time algorithm for constructing a linear space, O(logn) query time search structure for a geometric query problem associated with k-ply neighborhood systems, and an algorithm for approximating the value of k within a constant factor in time O(NLogn).
Abstract: We give a deterministic linear time algorithm for finding a “good” sphere separator of a k-ply neighborhood system Φ in any fixed dimension, where a k-ply neighborhood system in $$\IR$$d is a collection of n balls such that no points in the space is covered by more than k balls. The separating sphere intersects at most O (k1/dn1−1/d) balls of Φ and divides the remaining of Φ into two parts: those in the interior and those in the exterior of the sphere, respectively, so that the larger part contains at most δn balls ((d + 1)/(d + 2) < δ < 1). This result improves the O(n2) time deterministic algorithm of Miller and Teng [30] and answers a major algorithmic open question posed by Miller, Teng, Thurston, and Vavasis [23, 26]. The deterministic algorithm hinges on the use of a new method for deriving the separator property of neighborhood systems. Using this algorithm, we devise an O(kn+nlogn) time deterministic algorithm for computing the intersection graph of a k-ply neighborhood system. We give an O(nlogn) time algorithm for constructing a linear space, O(logn) query time search structure for a geometric query problem associated with k-ply neighborhood systems, and we use this data structure in an algorithm for approximating the value of k within a constant factor in time O(nlogn). We also develop a deterministic linear time algorithm for finding an O (k1/dn1−1/d)-separator for a k-nearest neighborhood graph in d dimensions.

34 citations


Book ChapterDOI
25 Sep 1995
TL;DR: It is proved that the locus of the centroid of S is a convex polytope, the projection of a zonotope in ℝd+1, and complexity bounds and algorithms are derived for the construction of these “centroid polytopes”.
Abstract: Let S be a set of points in ℝd, each with a weight that is not known precisely, only known to fall within some range What is the locus of the centroid of S? We prove that this locus is a convex polytope, the projection of a zonotope in ℝd+1 We derive complexity bounds and algorithms for the construction of these “centroid polytopes”

33 citations


15 Dec 1995
TL;DR: Eppstein and Eppstein this article used Mathematica to construct zonotopes and display zonohedra, and showed how to construct a zonohedra from a single point of view.
Abstract: Author(s): Eppstein, David | Abstract: We use Mathematica to construct zonotopes and display zonohedra.

32 citations


Journal ArticleDOI
TL;DR: Using only O(n) triangles, it is shown how to triangulate polygonal regions—adding extra vertices as necessary— with triangles of guaranteed quality with the guarantee that the smallest height of a triangle in a triangulation of an n-vertex polygon is a constant fraction of the largest possible.
Abstract: We show how to triangulate polygonal regions—adding extra vertices as necessary— with triangles of guaranteed quality. Using only O(n) triangles, we can guarantee that the smallest height (shortest dimension) of a triangle in a triangulation of an n-vertex polygon (with holes) is a constant fraction of the largest possible. Using O(n log n) triangles for simple polygons or O(n3/2) triangles for polygons with holes, we can guarantee that the largest angle is no greater than 150°. We can add the guarantee on smallest height to these no-large-angle results, without increasing the asymptotic complexity of the triangulation. Finally we give a nonobtuse triangulation algorithm for convex polygons that uses O(n1.85) triangles.

23 citations


Proceedings ArticleDOI
29 May 1995
TL;DR: This work relates the sequence of minimum bases of a matroid with linearly varying weights to three problems from combinatorial geometry: k -sets, lower envelopes of line segments, and convex polygons in line arrangements to show new lower bounds on the number of base changes in such sequences.
Abstract: We relate the sequence of minimum bases of a matroid with linearly varying weights to three problems from combinatorial geometry: k-sets, lower envelopes of line segments, and convex polygons in line arrangements. Using these relations we show new lower bounds on the number of base changes in such sequences: ˜.nr 1=3 / for a general n-element matroid with rank r, and ˜.mfi.n// for the special case of parametric graph minimum spanning trees. The only previous lower bound was˜.n log r/ for uniform matroids; upper bounds of O.mn 1=2 / for arbitrary matroids and O.mn 1=2 = log ⁄ n/ for uniform matroids were also known.

15 Dec 1995
TL;DR: It is shown that for any edge-weighted graph G there is an equivalent graph EG such that the minimum spanning trees of G correspond one-for-one with the spanning Trees of EG, which can be constructed in the time O(m + n log n) given a single minimum spanning tree of G.
Abstract: Author(s): Eppstein, David | Abstract: We show that for any edge-weighted graph G there is an equivalent graph EG such that the minimum spanning trees of G correspond one-for-one with the spanning trees of EG. The equivalent graph can be constructed in the time O(m + n log n) given a single minimum spanning tree of G. As a consequence we can count the minimum spanning trees of G in time O(m + n^2.376), generate a random minimum spanning tree in time O(mn), and list all minimum spanning trees in time O(m + n log n + k) where k denotes the number of minimum spanning trees generated. We also discuss similar equivalent graph constructions for shortest paths, minimum cost flows, and bipartite matching.

15 Dec 1995
TL;DR: Eppstein et al. as discussed by the authors showed how to find the k pairs of disjoint paths with shortest combined length in O(mn + k) time, where k is the length of the shortest path.
Abstract: Author(s): Eppstein, David | Abstract: We consider the problem of finding pairs of vertex-disjoint paths in a DAG, either connecting two given nodes to a common ancestor, or connecting two given pairs of terminals. It was known how to find a single pair of paths, for either type of input, in polynomial time. We show how to find the k pairs with shortest combined length, in time O(mn + k). We also show how to count all such pairs of paths in O(mn) arithmetic operations. These results can be extended to finding or counting tuples of d disjoint paths, in time O(mn^(d-1 + k). We give further results on finding the subset of the DAG involved in pairs of disjoint paths, and on finding disjoint paths in linear space.

Journal ArticleDOI
TL;DR: It is shown that any Boolean formula can be preprocessed in time0(n log n/log logn) and linear space so that the value of the formula can been maintained, as variables are changed one by one, in time O(log n/ log logn).
Abstract: We convert constructive solid geometry input to explicit representations of polygons, polyhedra, or more generallyd-dimensional polyhedra, in time and space 0(nd), improving a previous0(nd logn) time bound. We then show that any Boolean formula can be preprocessed in time0(n log n/log logn) and linear space so that the value of the formula can be maintained, as variables are changed one by one, in time O(log n/log logn) per change; this speeds up certain output-sensitive algorithms for constructive solid geometry.