Results 11  20
of
26
Design of data structures for mergeable trees
 In Proceedings of the 17th Annual ACMSIAM Symposium on Discrete Algorithms (SODA
, 2006
"... Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard problem, in which only one tree arc changes at a time, a singl ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard problem, in which only one tree arc changes at a time, a single merge operation can change many arcs. In spite of this, we develop a data structure that supports merges on an nnode forest in O(log 2 n) amortized time and all other standard tree operations in O(log n) time (amortized, worstcase, or randomized depending on the underlying data structure). For the special case that occurs in the motivating application, in which arbitrary arc deletions (cuts) are not allowed, we give a data structure with an O(log n) time bound per operation. This is asymptotically optimal under certain assumptions. For the evenmore special case in which both cuts and parent queries are disallowed, we give an alternative O(log n)time solution that uses standard dynamic trees as a black box. This solution also applies to the motivating application. Our methods use previous work on dynamic trees in various ways, but the analysis of each algorithm requires novel ideas. We also investigate lower bounds for the problem under various assumptions. 1
Animation of Geometric Algorithms: A Video Review
 DEC Systems Research Center, Research Report
, 1993
"... Geometric algorithms and data structures are often easiest to understand visually, in terms of the geometric objects they manipulate. Indeed, most papers in computational geometry rely on diagrams to communicate the intuition behind the results. Algorithm animation uses dynamic visual images to expl ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Geometric algorithms and data structures are often easiest to understand visually, in terms of the geometric objects they manipulate. Indeed, most papers in computational geometry rely on diagrams to communicate the intuition behind the results. Algorithm animation uses dynamic visual images to explain algorithms. Thus it is natural to present geometric algorithms, which are inherently dynamic, via algorithm animation. The accompanying videotape presents a video review of geometric animations; the review was premiered at the 1992 ACM Symposium on Computational Geometry. The video review includes singlealgorithm animations and sample graphic displays from "workbench" systems for implementing multiple geometric algorithms. This report contains short descriptions of each video segment. vi Preface This booklet and the accompanying videotape contain animations of a variety of computational geometry algorithms. Computational geometry has existed as a field for almost two decades, and int...
The Graham Scan Triangulates Simple Polygons
 Pattern Recogn. Lett
, 1991
"... The Graham scan is a fundamental backtracking technique in computational geometry which was originally designed to compute the convex hull of a set of points in the plane and has since found application in several different contexts. In this note we show how to use the Graham scan to triangulate a s ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
The Graham scan is a fundamental backtracking technique in computational geometry which was originally designed to compute the convex hull of a set of points in the plane and has since found application in several different contexts. In this note we show how to use the Graham scan to triangulate a simple polygon. The resulting algorithm triangulates an n vertex polygon P in O(kn) time where k1 is the number of concave vertices in P. Although the worst case running time of the algorithm is O(n 2 ), it is easy to implement and is therefore of practical interest. 1. Introduction A polygon P is a closed path of straight line segments. A polygon is represented by a sequence of vertices P = (p 0 ,p 1 ,...,p n1 ) where p i has realvalued x,ycoordinates. We assume that no three vertices of P are collinear. The line segments (p i ,p i+1 ), 0 i n1, (subscript arithmetic taken modulo n) are the edges of P. A polygon is simple if no two nonconsecutive edges intersect. A simple polygon part...
Surface Triangulation: A Survey
, 1996
"... This paper presents a brief survey of some problems and solutions related to the triangulation of surfaces. A surface (a two dimensional manifold, in the context of this paper) can be represented as a three dimensional function on a planar disk. In that sense, the triangulation of the disk induces a ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This paper presents a brief survey of some problems and solutions related to the triangulation of surfaces. A surface (a two dimensional manifold, in the context of this paper) can be represented as a three dimensional function on a planar disk. In that sense, the triangulation of the disk induces a triangulation of the surface. Hence the emphasis of this paper is on triangulation on a plane. Apart from the issues in triangulation, this survey talks about the known upper and lower bounds on various triangulation problems. It is intended as a broad compilation of known results rather than an intensive treatise, and the details of most algorithms are skipped. 1 Introduction This survey assumes familiarity with the fundamental concepts of computational geometry. We define the triangulation problem as follows: Input: i. A set S of points, fp i g, such that each p i lies on the surface ii. A set of conditions, fC i g Output: A set S 0 of triples f(p i 1 ; p i 2 ; p i 3 )g such that e...
Polygons are Anthropomorphic
"... al [x i1 ,x i+1 ] that bridges x i lies entirely in P. We say that two ears x i and x j are nonoverlapping if int[x i1 ,x i ,x i+1 ] Ç int[x j1 ,x j ,x j+1 ] = Æ. The following TwoEars Theorem was recently proved by Meisters [Me1]. Theorem 1: (the TwoEars Theorem, Meis ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
al [x i1 ,x i+1 ] that bridges x i lies entirely in P. We say that two ears x i and x j are nonoverlapping if int[x i1 ,x i ,x i+1 ] Ç int[x j1 ,x j ,x j+1 ] = Æ. The following TwoEars Theorem was recently proved by Meisters [Me1]. Theorem 1: (the TwoEars Theorem, Meisters [Me1]) Except for triangles every simple polygon P has at least two nonoverlapping ears. Meisters' proof by induction is both elegant and concise. However, given that a simple polygon can always be triangulated allows a onesentence proof [O'R]. Leaves in the dualtree of the triangulated polygon correspond to ears and every tree of two or more nodes m
Slicing an Ear in Linear Time
 Pattern Recognition Letters
, 1989
"... It remains as one of the major open problems in computational geometry, whether there exists a lineartime algorithm for triangulating a simple polygon P. Yet it is well known that a diagonal of P can easily be found in linear time. In this note we show that an ear of P can be found in linear time. ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
It remains as one of the major open problems in computational geometry, whether there exists a lineartime algorithm for triangulating a simple polygon P. Yet it is well known that a diagonal of P can easily be found in linear time. In this note we show that an ear of P can be found in linear time. An ear is a triangle such that one of its edges is a diagonal of P and the remaining two edges are edges of P. Applications of this result are indicated. 1. Introduction The triangulation of simple polygons has received much attention in the computational geometry literature because of its many applications in such areas as pattern recognition, computer graphics, CAD and solid modeling. Nevertheless, it remains as one of the major open problems in computational geometry, whether there exists a lineartime algorithm for triangulating a simple polygon P. The fastest algorithm to date is due to Tarjan & Van Wyk [TV] and runs in O(n log log n) time, where n is the number of vertices of P. On th...
A LinearTime Algorithm for Constructing a Circular Visibility Diagram
, 1995
"... Abstract. To computer circular visibility inside a simple polygon, circular arcs that emanate from a given interior point are classified with respect to the edges of the polygon they first intersect. Representing these sets of circular arcs by their centers results in a planar partition called the c ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. To computer circular visibility inside a simple polygon, circular arcs that emanate from a given interior point are classified with respect to the edges of the polygon they first intersect. Representing these sets of circular arcs by their centers results in a planar partition called the circular visibility diagram. An O(n) algorithm is given for constructing the circular visibility diagram for a simple polygon with n vertices.
Finger Search on Balanced Search Trees
, 2006
"... This thesis introduces the concept of a heterogeneous decomposition of a balanced search tree and apply it to the following problems: • How can finger search be implemented without changing the representation of a RedBlack Tree, such as introducing extra storage to the nodes? (Answer: Any degreeba ..."
Abstract
 Add to MetaCart
This thesis introduces the concept of a heterogeneous decomposition of a balanced search tree and apply it to the following problems: • How can finger search be implemented without changing the representation of a RedBlack Tree, such as introducing extra storage to the nodes? (Answer: Any degreebalanced search tree can support finger search without modification in its representation by maintaining an auxiliary data structure of logarithmic size and suitably modifying the search algorithm to make use of this auxiliary data structure.) • Do MultiSplay Trees, which is known to be O(log log n)competitive to the optimal binary search trees, have the Dynamic Finger property? (Answer: This is work in progress. We believe the answer is yes.)
Fast Algorithms for OneDimensional Compaction with Jog Insertion
"... Introduction. The onedimensional channel compaction problem with automatic jog insertion may be described informally as follows. We are given n horizontal wire segments organized into t tracks. Segments on the same track have the same ycoordinate and the ranges of their xcoordinates do not overla ..."
Abstract
 Add to MetaCart
Introduction. The onedimensional channel compaction problem with automatic jog insertion may be described informally as follows. We are given n horizontal wire segments organized into t tracks. Segments on the same track have the same ycoordinate and the ranges of their xcoordinates do not overlap. Each segment has a via at each end, connecting it to vertical wires on another layer. The goal is to minimize channel height subject to design rule constraints on the distances between wires and between wires and vias. The relative vertical position of wires is not allowed to change during compaction. Figure 1(a) shows an initial layout with 7 tracks. The horizontal wires to be compacted are shown as thin solid lines while vertical wires on another layer are thick dashed lines. Dots represent vias. Relative vertical position must be maintained due to what are called vertical constraints (see e.g. [PL88]). The left part of net
A Review of Two Simple Polygon Triangulation Algorithms
, 1998
"... This paper describes two approaches to triangulate a simple polygon. Emphasis is on practical and easy to implement algorithms, especially the first algorithm is straightforward and intuitive but, however, quite efficient. Further, it does not require the sorting or the use of balanced tree structur ..."
Abstract
 Add to MetaCart
This paper describes two approaches to triangulate a simple polygon. Emphasis is on practical and easy to implement algorithms, especially the first algorithm is straightforward and intuitive but, however, quite efficient. Further, it does not require the sorting or the use of balanced tree structures. Its worst running time complexity is O(n 2 ), but for special classes of polygons it runs in linear time. The second approach requires some more sophisticated concepts of computational geometry but yields a better worst running time complexity of O(n log n). Both algorithms do not introduce new vertices and triangulate in a greedy fashion, that is they never remove edges once inserted. Further, they are designed to find an arbitrary triangulation and they do not optimize the result in any way. Keywords: computational geometry, polygon, triangulation, computational complexity, monotone polygon, trapezoidation 1 Introduction The problem of triangulating a polygon can be stated as: "giv...