Sorting Jordan sequences in linear time using level-linked search trees
TLDR
This paper describes an O(n)-time algorithm for recognizing and sorting Jordan sequences that uses level-linked search trees and a reduction of the recognition and sorting problem to a list-splitting problem.Abstract:
For a Jordan curve C in the plane nowhere tangent to the x axis, let x1, x2,…, xn be the abscissas of the intersection points of C with the x axis, listed in the order the points occur on C. We call x1, x2,…, xn a Jordan sequence. In this paper we describe an O(n)-time algorithm for recognizing and sorting Jordan sequences. The problem of sorting such sequences arises in computational geometry and computational geography. Our algorithm is based on a reduction of the recognition and sorting problem to a list-splitting problem. To solve the list-splitting problem we use level-linked search trees.read more
Citations
More filters
Journal Article
Triangulating a simple polygon in linear time
TL;DR: A deterministic algorithm for triangulating a simple polygon in linear time is given, using the polygon-cutting theorem and the planar separator theorem, whose role is essential in the discovery of new diagonals.
Journal ArticleDOI
Triangulating a simple polygon in linear time
TL;DR: In this paper, a deterministic algorithm for triangulating a simple polygon in linear time is presented. But the main tools used are the polygon-cutting theorem, which provides us with a balancing scheme, and the planar separator theorem, whose role is essential in the discovery of new diagonals.
Journal ArticleDOI
Randomized Search Trees
TL;DR: A randomized strategy for maintaining balance in dynamically changing search trees that has optimalexpected behavior, and generalizes naturally to weighted trees, where the expected time bounds for accesses and updates again match the worst-case time bounds of the best deterministic methods.
Journal ArticleDOI
An optimal algorithm for intersecting line segments in the plane
TL;DR: To analyze the complexity of the algorithm, an amortization argument based on a new combinatorial theorem on line arrangements is used.
Journal ArticleDOI
Reprint of: A simple and fast incremental randomized algorithm for computing trapezoidal decompositions and for triangulating polygons
TL;DR: This paper presents a very simple incremental randomized algorithm for computing the trapezoidal decomposition induced by a set S of n line segments in the plane that creates a search structure of expected linear size that allows point location queries in the resulting trapezoidation in logarithmic expected time.
References
More filters
Book
The Design and Analysis of Computer Algorithms
Alfred V. Aho,John E. Hopcroft +1 more
TL;DR: This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
Journal ArticleDOI
Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms
TL;DR: The consecutive ones test for the consecutive ones property in matrices and for graph planarity is extended to a test for interval graphs using a recently discovered fast recognition algorithm for chordal graphs.
Journal ArticleDOI
Self-adjusting binary search trees
TL;DR: The splay tree, a self-adjusting form of binary search tree, is developed and analyzed and is found to be as efficient as balanced trees when total running time is the measure of interest.
Journal ArticleDOI
Efficient Planarity Testing
TL;DR: An efficient algorithm to determine whether an arbitrary graph G can be embedded in the plane is described, which used depth-first search and has time and space bounds.
Journal ArticleDOI
Amortized Computational Complexity
TL;DR: This paper surveys recent work by several researchers on amortized complexity and obtains “self-adjusting” data structures that are simple, flexible and efficient.