Results 1 
8 of
8
Topologically Sweeping Visibility Complexes via Pseudotriangulations
, 1996
"... This paper describes a new algorithm for constructing the set of free bitangents of a collection of n disjoint convex obstacles of constant complexity. The algorithm runs in time O(n log n + k), where k is the output size, and uses O(n) space. While earlier algorithms achieve the same optimal run ..."
Abstract

Cited by 85 (9 self)
 Add to MetaCart
This paper describes a new algorithm for constructing the set of free bitangents of a collection of n disjoint convex obstacles of constant complexity. The algorithm runs in time O(n log n + k), where k is the output size, and uses O(n) space. While earlier algorithms achieve the same optimal running time, this is the first optimal algorithm that uses only linear space. The visibility graph or the visibility complex can be computed in the same time and space. The only complicated data structure used by the algorithm is a splittable queue, which can be implemented easily using redblack trees. The algorithm is conceptually very simple, and should therefore be easy to implement and quite fast in practice. The algorithm relies on greedy pseudotriangulations, which are subgraphs of the visibility graph with many nice combinatorial properties. These properties, and thus the correctness of the algorithm, are partially derived from properties of a certain partial order on the faces of th...
Dynamic planar convex hull
 Proc. 43rd IEEE Sympos. Found. Comput. Sci
, 2002
"... In this paper we determine the amortized computational complexity of the dynamic convex hull problem in the planar case. We present a data structure that maintains a finite set of n points in the plane under insertion and deletion of points in amortized O(log n) time per operation. The space usage o ..."
Abstract

Cited by 51 (1 self)
 Add to MetaCart
In this paper we determine the amortized computational complexity of the dynamic convex hull problem in the planar case. We present a data structure that maintains a finite set of n points in the plane under insertion and deletion of points in amortized O(log n) time per operation. The space usage of the data structure is O(n). The data structure supports extreme point queries in a given direction, tangent queries through a given point, and queries for the neighboring points on the convex hull in O(log n) time. The extreme point queries can be used to decide whether or not a given line intersects the convex hull, and the tangent queries to determine whether a given point is inside the convex hull. We give a lower bound on the amortized asymptotic time complexity that matches the performance of this data structure.
Decision Trees For Geometric Models
, 1993
"... A fundamental problem in modelbased computer vision is that of identifying which of a given set of geometric models is present in an image. Considering a "probe" to be an oracle that tells us whether or not a model is present at a given point, we study the problem of computing efficient strategi ..."
Abstract

Cited by 31 (4 self)
 Add to MetaCart
A fundamental problem in modelbased computer vision is that of identifying which of a given set of geometric models is present in an image. Considering a "probe" to be an oracle that tells us whether or not a model is present at a given point, we study the problem of computing efficient strategies ("decision trees") for probing an image, with the goal to minimize the number of probes necessary (in the worst case) to determine which single model is present. We show that a dlg ke height binary decision tree always exists for k polygonal models (in fixed position), provided (1) they are nondegenerate (do not share boundaries) and (2) they share a common point of intersection. Further, we give an efficient algorithm for constructing such decision tress when the models are given as a set of polygons in the plane. We show that constructing a minimum height tree is NPcomplete if either of the two assumptions is omitted. We provide an efficient greedy heuristic strategy and show ...
A Study of Exponential Neighborhoods for the Travelling Salesman Problem and for the Quadratic Assignment Problem
, 1998
"... This paper deals with socalled exponential neighborhoods for combinatorial optimization problems, i.e. with large sets of feasible solutions whose size grows exponentially with the input length. We are especially interested in exponential neighborhoods over which the TSP (respectively, the QAP) can ..."
Abstract

Cited by 22 (2 self)
 Add to MetaCart
This paper deals with socalled exponential neighborhoods for combinatorial optimization problems, i.e. with large sets of feasible solutions whose size grows exponentially with the input length. We are especially interested in exponential neighborhoods over which the TSP (respectively, the QAP) can be solved in polynomial time, and we investigate combinatorial and algorithmical questions related to such neighborhoods. First, we perform a careful study of exponential neighborhoods for the TSP. We investigate neighborhoods that can be defined in a simple way via assignments, matchings in bipartite graphs, partial orders, trees and other combinatorial structures. We identify several properties of these combinatorial structures that lead to polynomial time optimization algorithms, and we also provide variants that slightly violate these properties and lead to NPcomplete optimization problems. Whereas it is relatively easy to find exponential neighborhoods over which the TSP can be solved...
Solving the string statistics problem in time O(n log n)
 Proc. 29th International Colloquium on Automata, Languages, and Programming
, 2002
"... The string statistics problem consists of preprocessing a string of length n such that given a query pattern of length m, the maximum number of nonoverlapping occurrences of the query pattern in the string can be reported efficiently... ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
The string statistics problem consists of preprocessing a string of length n such that given a query pattern of length m, the maximum number of nonoverlapping occurrences of the query pattern in the string can be reported efficiently...
Rotational clamshell casting in three dimensions
, 2006
"... A popular manufacturing technique is clamshell casting, where liquid is poured into a cast and the cast is removed once the liquid has hardened. We consider the case where the object to be manufactured is modeled by a polyhedron with combinatorial complexity n of arbitrary genus. The cast consists o ..."
Abstract

Cited by 6 (6 self)
 Add to MetaCart
A popular manufacturing technique is clamshell casting, where liquid is poured into a cast and the cast is removed once the liquid has hardened. We consider the case where the object to be manufactured is modeled by a polyhedron with combinatorial complexity n of arbitrary genus. The cast consists of exactly two parts and is removed by a rotation around a line in space. The following two problems are addressed: (1) Given a line of rotation l in space, we determine in O(n log n) time whether there exists a partitioning of the cast into exactly two parts, such that one part can be rotated clockwise around l and the other part can be rotated counterclockwise around l without colliding with the interior of P or the cast. If the problem is restricted further, such a partitioning is only valid when no reflex edge or face of P is perpendicular to l, the algorithm runs in O(n) time. (2) An algorithm running in O(n 4 log n) time is presented to find all the lines in space that allow a cast partitioning as described above. If we restrict the problem further and find all the lines in space that allow a cast partitioning as described above, such that no reflex edge or face of P is perpendicular to l, the algorithm’s running time becomes O(n 4 α(n)). 1
Finger Search Trees
, 2005
"... One of the most studied problems in computer science is the problem of maintaining a sorted sequence of elements to facilitate efficient searches. The prominent solution to the problem is to organize the sorted sequence as a balanced search tree, enabling insertions, deletions and searches in logari ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
One of the most studied problems in computer science is the problem of maintaining a sorted sequence of elements to facilitate efficient searches. The prominent solution to the problem is to organize the sorted sequence as a balanced search tree, enabling insertions, deletions and searches in logarithmic time. Many different search trees have been developed and studied intensively in the literature. A discussion of balanced binary search trees can e.g. be found in [4]. This chapter is devoted to finger search trees which are search trees supporting fingers, i.e. pointers, to elements in the search trees and supporting efficient updates and searches in the vicinity of the fingers. If the sorted sequence is a static set of n elements then a simple and space efficient representation is a sorted array. Searches can be performed by binary search using 1+⌊log n⌋ comparisons (we throughout this chapter let log x denote log 2 max{2, x}). A finger search starting at a particular element of the array can be performed by an exponential search by inspecting elements at distance 2 i − 1 from the finger for increasing i followed by a binary search in a range of 2 ⌊log d ⌋ − 1 elements, where d is the rank difference in the sequence between the finger and the search element. In Figure 11.1 is shown an exponential search for the element 42 starting at 5. In the example d = 20. An exponential search requires
Stamp Foldings, Semimeanders, and Open Meanders: Fast Generation Algorithms
"... By considering a permutation representation for stampfoldings and semimeanders we construct treelike data structures that will allow us to generate these objects in constant amortized time. Additionally, by maintaining the windfactor and applying an additional optimization, the algorithm for semi ..."
Abstract
 Add to MetaCart
By considering a permutation representation for stampfoldings and semimeanders we construct treelike data structures that will allow us to generate these objects in constant amortized time. Additionally, by maintaining the windfactor and applying an additional optimization, the algorithm for semimeanders can be