scispace - formally typeset
Search or ask a question

Showing papers in "Algorithmica in 1990"


Journal ArticleDOI
TL;DR: This paper shows that fractional cascading also supports insertions into and deletions from the lists efficiently and shows that queries, insertions, and deletion into segment trees or range trees can be supported in timeO(logn log logn), whenn is the number of segments (points).
Abstract: The problem of searching for a key in many ordered lists arises frequently in computational geometry. Chazelle and Guibas recently introduced fractional cascading as a general technique for solving this type of problem. In this paper we show that fractional cascading also supports insertions into and deletions from the lists efficiently. More specifically, we show that a search for a key inn lists takes timeO(logN +n log logN) and an insertion or deletion takes timeO(log logN). HereN is the total size of all lists. If only insertions or deletions have to be supported theO(log logN) factor reduces toO(1). As an application we show that queries, insertions, and deletions into segment trees or range trees can be supported in timeO(logn log logn), whenn is the number of segments (points).

181 citations


Journal ArticleDOI
TL;DR: An efficient technique for parallel manipulation of data structures that avoids memory access conflicts is presented and is used in a new parallel radix sort algorithm that is optimal for keys whose values are over a small range.
Abstract: We present an efficient technique for parallel manipulation of data structures that avoids memory access conflicts. That is, this technique works on the Exclusive Read/Exclusive Write (EREW) model of computation, which is the weakest shared memory, MIMD machine model. It is used in a new parallel radix sort algorithm that is optimal for keys whose values are over a small range. Using the radix sort and known results for parallel prefix on linked lists, we develop parallel algorithms that efficiently solve various computations on trees and “unicycular graphs.” Finally, we develop parallel algorithms for connected components, spanning trees, minimum spanning trees, and other graph problems. All of the graph algorithms achieve linear speedup for all but the sparsest graphs.

100 citations


Journal ArticleDOI
TL;DR: A new simple algorithm for the so-called largest empty rectangle problem, i.e., the problem of finding a maximum area rectangle contained inA and not containing any point ofS in its interior, is presented.
Abstract: A rectangleA and a setS ofn points inA are given. We present a new simple algorithm for the so-called largest empty rectangle problem, i.e., the problem of finding a maximum area rectangle contained inA and not containing any point ofS in its interior. The computational complexity of the presented algorithm isO(n logn + s), where s is the number of possible restricted rectangles considered. Moreover, the expected performance isO(n · logn).

92 citations


Journal ArticleDOI
TL;DR: The results of straight-edged computational geometry into the curved world are extended by defining a pair of new geometric objects, the splinegon and thesplinehedron, as curved generalizations of the polygon and polyhedron as well as three distinct techniques for extending polygon algorithms to splinegons.
Abstract: We extend the results of straight-edged computational geometry into the curved world by defining a pair of new geometric objects, thesplinegon and thesplinehedron, as curved generalizations of the polygon and polyhedron. We identify three distinct techniques for extending polygon algorithms to splinegons: the carrier polygon approach, the bounding polygon approach, and the direct approach. By these methods, large groups of algorithms for polygons can be extended as a class to encompass these new objects. In general, if the original polygon algorithm has time complexityO(f(n)), the comparable splinegon algorithm has time complexity at worstO(Kf(n)) whereK represents a constant number of calls to members of a set of primitive procedures on individual curved edges. These techniques also apply to splinehedra. In addition to presenting the general methods, we state and prove a series of specific theorems. Problem areas include convex hull computation, diameter computation, intersection detection and computation, kernel computation, monotonicity testing, and monotone decomposition, among others.

91 citations


Journal ArticleDOI
TL;DR: It is shown it is NP-hard to compute an embedding of a planar graph that minimizes the diameter of the dual graph.
Abstract: We present polynomial-time algorithms for computing an embedding of a planar graph that minimizes the outerplanarity, or the width, or the radius, or some other measures of distance to the outer face. On the other hand, we show it is NP-hard to compute an embedding that minimizes the diameter of the dual graph.

67 citations


Journal ArticleDOI
TL;DR: An efficient implementation of the approximate shortest common superstrings for a given setR of strings can be constructed by applying the greedy heuristics for finding a longest Hamiltonian path in the weighted graph that represents the pairwise overlaps between the strings inR.
Abstract: Approximate shortest common superstrings for a given setR of strings can be constructed by applying the greedy heuristics for finding a longest Hamiltonian path in the weighted graph that represents the pairwise overlaps between the strings inR. We develop an efficient implementation of this idea using a modified Aho-Corasick string-matching automaton. The resulting common superstring algorithm runs in timeO(n) or in timeO(n min(logm, log¦Σ¦)) depending on whether or not the goto transitions of the Aho-Corasick automaton can be implemented by direct indexing over the alphabet Σ. Heren is the total length of the strings inR andm is the number of such strings. The best previously known method requires timeO(n logm) orO(n logn) depending on the availability of direct indexing.

61 citations


Journal ArticleDOI
TL;DR: The performance guarantee, or worst-case ratio between the number of colors used and the minimum number of Colors possible, is improved, toO(n(log logn)3/(logn3), anO(logn/log logen) factor better than the previous best-known result.
Abstract: Approximate graph coloring takes as input a graph and returns a legal coloring which is not necessarily optimal. We improve the performance guarantee, or worst-case ratio between the number of colors used and the minimum number of colors possible, toO(n(log logn)3/(logn)3), anO(logn/log logn) factor better than the previous best-known result.

61 citations


Journal ArticleDOI
TL;DR: It is shown that finding empty triangles is related to the problem of determining pairs of vertices that see each other in a star-shaped polygon, and a linear-time algorithm for this problem which is of independent interest yields an optimal algorithm for finding all empty triangles.
Abstract: A key problem in computational geometry is the identification of subsets of a point set having particular properties. We study this problem for the properties of convexity and emptiness. We show that finding empty triangles is related to the problem of determining pairs of vertices that see each other in a star-shaped polygon. A linear-time algorithm for this problem which is of independent interest yields an optimal algorithm for finding all empty triangles. This result is then extended to an algorithm for finding empty convex r-gons (r> 3) and for determining a largest empty convex subset. Finally, extensions to higher dimensions are mentioned.

45 citations


Journal ArticleDOI
TL;DR: In this paper, the authors show that a number of geometric problems can be solved on a √n × √ n mesh-connected computer in O(√n) time, which is optimal to within a constant factor.
Abstract: We show that a number of geometric problems can be solved on a √n × √n mesh-connected computer (MCC) inO(√n) time, which is optimal to within a constant factor, since a nontrivial data movement on an MCC requires Ω(√n) time. The problems studied here include multipoint location, planar point location, trapezoidal decomposition, intersection detection, intersection of two convex polygons, Voronoi diagram, the largest empty circle, the smallest enclosing circle, etc. TheO(√n) algorithms for all of the above problems are based on the classical divide-and-conquer problem-solving strategy.

42 citations


Journal ArticleDOI
TL;DR: The discovered structural properties of planarst-graphs provide a unifying theoretical underpinning for several applications, such as dynamic point location in planar monotone subdivisions, dynamic transitive-closure query in planARst- graphs, and dynamic contact-chain query in convex subdivisions.
Abstract: We show that a planarst-graphG admits two total orders on the setV∪E ∪F, whereV, E, andF are respectively the set of vertices, edges, and faces ofG, with ¦V¦ =n Assuming thatG is to be dynamically modified by means of insertions of edges and expansions of vertices (and their inverses), we exhibit anO(n)-space dynamic data structure for the maintenance of these orders such that an update can be performed in timeO(logn) The discovered structural properties of planarst-graphs provide a unifying theoretical underpinning for several applications, such as dynamic point location in planar monotone subdivisions, dynamic transitive-closure query in planarst-graphs, and dynamic contact-chain query in convex subdivisions The presented techniques significantly outperform previously known solutions of the same problems

39 citations


Journal ArticleDOI
TL;DR: A simple parallel algorithm for computing the greatest common divisor (gcd) of twon-bit integers in the Common version of the CRCW model of computation, which improves on the algorithm of Kannan, Miller, and Rudolph.
Abstract: We present a simple parallel algorithm for computing the greatest common divisor (gcd) of twon-bit integers in the Common version of the CRCW model of computation. The run-time of the algorithm in terms of bit operations isO(n/logn), usingn 1+ɛ processors, where ɛ is any positive constant. This improves on the algorithm of Kannan, Miller, and Rudolph, the only sublinear algorithm known previously, both in run time and in number of processors; they requireO(n log logn/logn),n 2 log2 n, respectively, in the same CRCW model. We give an alternative implementation of our algorithm in the CREW model. Its run-time isO(n log logn/logn), usingn 1+ɛ processors. Both implementations can be modified to yield the extended gcd, within the same complexity bounds.

Journal ArticleDOI
TL;DR: This paper proves that constructing a rectangular dual graph is equivalent to a matching problem in a bipartite graph derived from the given plane graph and a simple existence theorem in terms of the graph structure is obtained as a corollary.
Abstract: Arectangular graph is a plane graph where all regions are four-sided and all edges are oriented in either the vertical or the horizontal direction. In addition the graph enclosure must also be rectangular. Given a plane graph representing a desired component connectivity, itsrectangular dual can be used to build afloorplan. This indicates that a system implementation can allocate rectangular floorplan regions to components that can be pairwise connected through common borders.

Journal ArticleDOI
TL;DR: A deterministic scheme for the simulation of (n, m)-PRAM computation that makes a crucial use of pipelining on the MT, and attains a time complexity ofO(log2n/log logn).
Abstract: A deterministic scheme for the simulation of (n, m)-PRAM computation is devised. Each PRAM step is simulated on a bounded degree network consisting of a mesh-of-trees (MT) of siden. The memory is subdivided inn modules, each local to a PRAM processor. The roots of the MT contain these processors and the memory modules, while the otherO(n 2) nodes have the mere capabilities of packet switchers and one-bit comparators. The simulation algorithm makes a crucial use of pipelining on the MT, and attains a time complexity ofO(log2 n/log logn). The best previous time bound wasO(log2 n) on a different interconnection network withn processors. While the previous simulation schemes use an intermediate MPC model, which is in turn simulated on a bounded degree network, our method performs the simulation directly with a simple algorithm.

Journal ArticleDOI
TL;DR: This work can give efficient algorithms for generating and verifying compliant motion strategies that are guaranteed to succeed as long as the sensing and control uncertainties lie within the specified bounds.
Abstract: We consider the computational complexity of planning compliant motions in the plane, given geometric bounds on the uncertainty in sensing and control. We can give efficient algorithms for generating and verifying compliant motion strategies that are guaranteed to succeed as long as the sensing and control uncertainties lie within the specified bounds. We also consider the case where a compliant motion plan is required to succeed over some parametric family of geometries. While these problems are known to be intractable in three dimensions, we identify tractable subclasses in the plane.

Journal ArticleDOI
TL;DR: An algorithm is presented for finding a maximum-weight spanning tree of a set of n points in the Euclidean plane, where the weight of an edge equals the Euclidian distance between the pointspi andpj.
Abstract: An algorithm is presented for finding a maximum-weight spanning tree of a set ofn points in the Euclidean plane, where the weight of an edge (p i ,p j ) equals the Euclidean distance between the pointsp i andp j . The algorithm runs inO(n logh) time and requiresO(n) space;h denotes the number of points on the convex hull of the given set. If the points are vertices of a convex polygon (given in order along the boundary), then our algorithm requires only a linear amount of time and space. These bounds are the best possible in the algebraic computation-tree model. We also establish various properties of maximum spanning trees that can be exploited to solve other geometric problems.

Journal ArticleDOI
TL;DR: A novel proof of theO(n) bound on the number of edges of the boundary of such a cell of the subdivision induced by a union ofn half-lines (or rays) in the plane is presented.
Abstract: In this paper we study a cell of the subdivision induced by a union ofn half-lines (or rays) in the plane. We present two results. The first one is a novel proof of theO(n) bound on the number of edges of the boundary of such a cell, which is essentially of methodological interest. The second is an algorithm for constructing the boundary of any cell, which runs in optimal Θ(n logn) time. A by-product of our results are the notions of skeleton and of skeletal order, which may be of interest in their own right.

Journal ArticleDOI
TL;DR: This paper presents efficient approximation algorithms for the partitioning problem of introducing a set of line segments of least total length to partition the interior ofR into rectangles, which is computationally intractable (NP-hard) and can be generalized to generate good approximation solutions for the case whenR is a rectilinear polygon.
Abstract: LetR be a rectangle and letP be a set of points located insideR. Our problem consists of introducing a set of line segments of least total length to partition the interior ofR into rectangles. Each rectangle in a valid partition must not contain points fromP as interior points. Since this partitioning problem is computationally intractable (NP-hard), we present efficient approximation algorithms for its solution. The solutions generated by our algorithms are guaranteed to be within three times the optimal solution value. Our algorithm also generates solutions within four times the optimal solution value whenR is a rectilinear polygon. Our algorithm can be generalized to generate good approximation solutions for the case whenR is a rectilinear polygon, there are rectilinear polygonal holes, and the sum of the length of the boundaries is not more than the sum of the length of the edges in an optimal solution.

Journal ArticleDOI
TL;DR: An algorithm is presented that computes a rectilinear Steiner minimal tree in timeO(k4n) time and is asymptotically optimal and, for arbitraryk, the algorithm is the fastest known for this problem.
Abstract: Ak-extremal point set is a point set on the boundary of ak-sided rectilinear convex hull. Given ak-extremal point set of sizen, we present an algorithm that computes a rectilinear Steiner minimal tree in timeO(k 4 n). For constantk, this algorithm runs inO(n) time and is asymptotically optimal and, for arbitraryk, the algorithm is the fastest known for this problem.

Journal ArticleDOI
TL;DR: It is proved that there is no polynomial-time algorithm with an error ratio ɛ < 2 for the rectilinearm-center problem unless NP = P, and a polynometric-time approximation algorithm with a error ratio of 2 is also proposed.
Abstract: Given a set ofn points on the plane, the rectilinearm-center problem is to findn rectilinear squares covering all thesen points such that the maximum side length of these squares is minimized. In this paper we prove that there is no polynomial-time algorithm with an error ratio ɛ < 2 for the rectilinearm-center problem unless NP = P. A polynomial-time approximation algorithm with an error ratio of 2 is also proposed.

Journal ArticleDOI
TL;DR: The principle of message counting is used to detect termination of distributed computations which consist of processes asynchronously communicating over non-FIFO channels, making the scheme useful for dynamic systems.
Abstract: The principle of message counting is used to detect termination of distributed computations which consist of processes asynchronously communicating over non-FIFO channels. The solution is symmetric and not based on a predefined communication structure. An efficient variant of the echo algorithm, which dynamically builds a spanning tree, allows a parallel and distributed evaluation of the termination predicate in time proportional to the diameter of the communication graph. Concurrent and repeated initiation of the detection algorithm by different processes is possible at any time without prior synchronization due to a subtle method of collision detection and wave extinction, which can be regarded as a distributed election scheme where the average message complexity increases only logarithmically with the number of concurrent initiators. Control messages have a small length and additional communication links are not required. Only a fixed number of simple variables is needed in every process, global knowledge such as the total number of processes or the structure of the network is not used, making the scheme useful for dynamic systems. Several variations of the basic principle are presented, important issues such as message complexity and fault-tolerance are discussed.

Journal ArticleDOI
TL;DR: A simple algorithm for constructing Gröbner bases of a prime ideal from its characteristic set is presented and a method for finding new theorems in geometry as an application of this algorithm is given.
Abstract: In Ritt's method, a prime ideal is given by a characteristic set. A characteristic set of a prime ideal is generally not a set of generators of this ideal. In this paper we present a simple algorithm for constructing Grobner bases of a prime ideal from its characteristic set. We give a method for finding new theorems in geometry as an application of this algorithm.

Journal ArticleDOI
TL;DR: It is shown that after a sufficient number of updates, each consisting of choosing an element at random, removing it, and reinserting the same value, that the average search cost is Θ(N1/2).
Abstract: It is well known that the expected search time in anN node binary search tree generated by a random sequence of insertions isO(logN). Little has been published about the asymptotic cost when insertions and deletions are made following the usual algorithms with no attempt to retain balance. We show that after a sufficient number of updates, each consisting of choosing an element at random, removing it, and reinserting the same value, that the average search cost is Θ(N 1/2).

Journal ArticleDOI
TL;DR: It is shown that Bern's probabilistic asymptotic results on rectilinear Steiner trees remain valid for the model that there are exactlyN nodes uniformly distributed in a square of side √N.
Abstract: It is shown that Bern's probabilistic asymptotic results on rectilinear Steiner trees remain valid for the model that there are exactlyN nodes uniformly distributed in a square of side √N.

Journal ArticleDOI
TL;DR: This work develops efficient parallel algorithms for ther-dominating set and thep-center problems on trees that run inO(log2n log logn) time on a concurrent-read exclusive-write PRAM.
Abstract: We develop efficient parallel algorithms for ther-dominating set and thep-center problems on trees. On a concurrent-read exclusive-write PRAM, our algorithm for ther-dominating set problem runs inO(logn log logn) time withn processors. The algorithm for thep-center problem runs inO(log2n log logn) time withn processors.

Journal ArticleDOI
TL;DR: A bounded heuristic for the problem of partitioning a rectilinear figure into histograms of a fixed direction with minimum length is given and an optimal rectangular partition of a monotonic histogram can be computed in timeO(n2), using a known speed-up technique in dynamic programming.
Abstract: The problem of partitioning a rectilinear figure into rectangles with minimum length is NP-hard and has bounded heuristics. In this paper we study a related problem,Elimination Problem (EP), in which a rectilinear figure is partitioned into a set of rectilinear figures containing no concave vertices of a fixed direction with minimum length. We show that a heuristic for EP within a factor of 4 from optimal can be computed in timeO(n 2), wheren is the number of vertices of the input figure, and a variant of this heuristic, within a factor of 6 from optimal, can be computed in timeO(n logn). As an application, we give a bounded heuristic for the problem of partitioning a rectilinear figure into histograms of a fixed direction with minimum length. An auxiliary result is that an optimal rectangular partition of a monotonic histogram can be computed in timeO(n 2), using a known speed-up technique in dynamic programming.

Journal ArticleDOI
TL;DR: It is demonstrated that the presence of extra processors can expedite oblivious routing, and the time required for the oblivious routing of n packets onn processors is known to be Θ(√n).
Abstract: The problem of routing data packets in a constant-degree network is considered. A routing scheme is calledoblivious if the route taken by each packet is uniquely determined by its source and destination. The time required for the oblivious routing ofn packets onn processors is known to be Θ(√n). It is demonstrated that the presence of extra processors can expedite oblivious routing. More specifically, the time required for the oblivious routing ofn packets onp processors is Θ(n/√p + logn).

Journal ArticleDOI
TL;DR: A distributed algorithm for maximum cardinality matching in general graphs and on trees, which computes a maximum matching usingO(n) messages after the election of a leader.
Abstract: We present a distributed algorithm for maximum cardinality matching in general graphs. On a general graph withn vertices, our algorithm requiresO(n5/2) messages in the worst case. On trees, our algorithm computes a maximum matching usingO(n) messages after the election of a leader.

Journal ArticleDOI
TL;DR: AnO(¦E¦log2n) algorithm is presented to construct the visibility graph for a collection ofn nonintersecting line segments, where ¦ E¦ is the number of edges in the visibilityGraph, and uses onlyO(n) working storage.
Abstract: AnO(¦E¦log2 n) algorithm is presented to construct the visibility graph for a collection ofn nonintersecting line segments, where ¦E¦ is the number of edges in the visibility graph. This algorithm is much faster than theO(n 2)-time andO(n 2)-space algorithms by Asanoet al., and by Welzl, on sparse visibility graphs. Thus we partially resolve an open problem raised by Welzl. Further, our algorithm uses onlyO(n) working storage.

Journal ArticleDOI
Xin He1
TL;DR: This work presents an efficient algorithm for 4-coloring perfect planar graphs that takesO(log3n) time withO(n) processors on a PRAM and the parallel implementation of the algorithm takes O(n logn) time.
Abstract: We present an efficient algorithm for 4-coloring perfect planar graphs. The best previously known algorithm for this problem takesO(n 3/2) sequential time, orO(log4 n) parallel time withO(n3) processors. The sequential implementation of our algorithm takesO(n logn) time. The parallel implementation of our algorithm takesO(log3 n) time withO(n) processors on a PRAM.

Journal ArticleDOI
TL;DR: This paper presents a linear-time algorithm for finding, if any, all maximal convex chains of a given polygonP from whichP is visible, and shows that the same problems for reflex chain visibility can be easily solved in linear time.
Abstract: In this paper, the notions of convex chain visibility and reflex chain visibility of a simple polygonP are introduced, and some optimal algorithms concerned with convex- and reflex-chain visibility problems are described. For a convex-chain visibility problem, two linear-time algorithms are exhibited for determining whether or notP is visible from a given convex chain; one is the turn-checking approach and the other is the decomposition approach based on checking edge visibilities. We also present a linear-time algorithm for finding, if any, all maximal convex chains of a given polygonP from whichP is visible, where a maximal convex chain is a convex chain which does not properly include any other convex chains. It can be made by showing that there can be at most four visible maximal convex chains inP with an empty kernel. By similar arguments, we show that the same problems for reflex chain visibility can be easily solved in linear time.