Results 11  20
of
35
Purely Functional Representations of Catenable Sorted Lists.
 In Proceedings of the 28th Annual ACM Symposium on Theory of Computing
, 1996
"... The power of purely functional programming in the construction of data structures has received much attention, not only because functional languages have many desirable properties, but because structures built purely functionally are automatically fully persistent: any and all versions of a structur ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
The power of purely functional programming in the construction of data structures has received much attention, not only because functional languages have many desirable properties, but because structures built purely functionally are automatically fully persistent: any and all versions of a structure can coexist indefinitely. Recent results illustrate the surprising power of pure functionality. One such result was the development of a representation of doubleended queues with catenation that supports all operations, including catenation, in worstcase constant time [19].
Confluently Persistent Deques via DataStructural Bootstrapping
 J. of Algorithms
, 1993
"... We introduce datastructural bootstrapping, a technique to design data structures recursively, and use it to design confluently persistent deques. Our data structure requires O(log 3 k) worstcase time and space per deletion, where k is the total number of deque operations, and constant worstcase t ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
We introduce datastructural bootstrapping, a technique to design data structures recursively, and use it to design confluently persistent deques. Our data structure requires O(log 3 k) worstcase time and space per deletion, where k is the total number of deque operations, and constant worstcase time and space for other operations. Further, the data structure allows a purely functional implementation, with no side effects. This improves a previous result of Driscoll, Sleator, and Tarjan. 1 An extended abstract of this paper was presented at the 4th ACMSIAM Symposium on Discrete Algorithms, 1993. 2 Supported by a Fannie and John Hertz Foundation fellowship, National Science Foundation Grant No. CCR8920505, and the Center for Discrete Mathematics and Theoretical Computer Science (DIMACS) under NSFSTC8809648. 3 Also affiliated with NEC Research Institute, 4 Independence Way, Princeton, NJ 08540. Research at Princeton University partially supported by the National Science Foundatio...
EntropyPreserving Cuttings and SpaceEfficient Planar Point Location
 In Proceedings of the Twelfth Annual ACMSIAM Symposium on Discrete Algorithms
, 2001
"... Point location is the problem of preprocessing a planar polygonal subdivision S into a data structure in order to determine efficiently the cell of the subdivision that contains a given query point. Given the probabilities pz that the query point lies within each cell z 2 S, a natural question is ho ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
Point location is the problem of preprocessing a planar polygonal subdivision S into a data structure in order to determine efficiently the cell of the subdivision that contains a given query point. Given the probabilities pz that the query point lies within each cell z 2 S, a natural question is how to design such a structure so as to minimize the expectedcase query time. The entropy H of the probability distribution is the dominant term in the lower bound on the expectedcase search time. Clearly the number of edges n of the subdivision is a lower bound on the space required. There is no known approach that simultaneously achieves the goals of H + o(H) query time and O(n) space. In this paper we introduce entropypreserving cuttings and show how to use them to achieve query time H+o(H), using only O(n log n) space. 1 Introduction Planar point location is an important problem in computational geometry. We are given a polygonal subdivision S consisting of n edges, and the goal is ...
Purely Functional, RealTime Deques with Catenation
 Journal of the ACM
, 1999
"... We describe an efficient, purely functional implementation of deques with catenation. In addition to being an intriguing problem in its own right, finding a purely functional implementation of catenable deques is required to add certain sophisticated programming constructs to functional programming ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
We describe an efficient, purely functional implementation of deques with catenation. In addition to being an intriguing problem in its own right, finding a purely functional implementation of catenable deques is required to add certain sophisticated programming constructs to functional programming languages. Our solution has a worstcase running time of O(1) for each push, pop, inject, eject and catenation. The best previously known solution has an O(log k) time bound for the k deque operation. Our solution is not only faster but simpler. A key idea used in our result is an algorithmic technique related to the redundant digital representations used to avoid carry propagation in binary counting.
On the Exact Worst Case Query Complexity of Planar Point Location
 IN PROCEEDINGS OF THE NINTH ANNUAL ACMSIAM SYMPOSIUM ON DISCRETE ALGORITHMS
, 1998
"... What is the smallest constant c so that the planar point location queries can be answered in c log 2 n + o(log n) steps (i.e. pointline comparisons) in the worst case? In SODA 97 Goodrich, Orletsky, and Ramaiyer [6] showed that c = 2 is possible using linear space and conjectured this to be optimal ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
What is the smallest constant c so that the planar point location queries can be answered in c log 2 n + o(log n) steps (i.e. pointline comparisons) in the worst case? In SODA 97 Goodrich, Orletsky, and Ramaiyer [6] showed that c = 2 is possible using linear space and conjectured this to be optimal. We disprove this conjecture and show that c = 1 can be achieved. Moreoever by giving upper and lower bounds we show that without space restrictions the worst case query complexity of planar point location differs from log 2 n + 2 p log 2 n at most by an additive factor of (1=2)log 2 log 2 n +O(1). For the case of linear space we show the query complexity to be bounded by log 2 n + 2 p log 2 n +O(log 1=4 n).
Stabbing and Ray Shooting in 3 Dimensional Space
, 1994
"... In this paper we consider the following problems: given a set T of triangles in 3space, with jT j = n, a) answer the query " given a line l, does l stab the set of triangles?" (query problem). b) find whether a stabbing line exists for the set of triangles (existence problem). c) Given a ray ae, ..."
Abstract

Cited by 11 (3 self)
 Add to MetaCart
In this paper we consider the following problems: given a set T of triangles in 3space, with jT j = n, a) answer the query " given a line l, does l stab the set of triangles?" (query problem). b) find whether a stabbing line exists for the set of triangles (existence problem). c) Given a ray ae, which is the first triangle in T hit by ae? The following results are shown. 1. There is an \Omega\Gamma n 3 ) lower bound on the descriptive complexity of the set of all stabbers for a set of triangles. 2. The existence problem for triangles on a set of planes with g different plane inclinations can be solved in O(g 2 n 2 log n) time (Theorem 2). 3. The query problem is solvable in quasiquadratic O(n 2+ffl ) preprocessing and storage and logarithmic O(log n) query time (Theorem 4). 4. All stabbing results for triangles extend, with the same asymptotic bounds, to sets of convex polyhedra with total complexity n. 5. Using O(n 3+ffl ) preprocessing time and storage we can det...
Efficient TriangulationBased Pathfinding
, 2007
"... Pathfinding for commercial games is a challenging problem, and many existing methods use abstractions which lose details of the environment and compromise path quality. Conversely, humans can ignore irrelevant details of an environment that modern search techniques still consider, while maintaining ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
Pathfinding for commercial games is a challenging problem, and many existing methods use abstractions which lose details of the environment and compromise path quality. Conversely, humans can ignore irrelevant details of an environment that modern search techniques still consider, while maintaining its topography. This thesis describes a technique for extracting features such as dead ends, corridors, and decision points from an environment represented using a constrained Delaunay triangulation. The result is that the pathfinding task is simplified to the point where the search algorithm need only decide to which side of each obstacle to go, while all features of the environment are retained. We present algorithms which search the triangles of the environment (Triangulation
A*) and the decision points identified (Triangulation Reduction A*). We also explore a number of techniques which deal with finding paths for circular objects of nonzero radius and enhancements to various aspects of the search.
Making Data Structures Confluently Persistent
, 2001
"... We address a longstanding open problem of [10, 9], and present a general transformation that transforms any pointer based data structure to be confluently persistent. Such transformations for fully persistent data structures are given in [10], greatly improving the performance compared to the naive ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We address a longstanding open problem of [10, 9], and present a general transformation that transforms any pointer based data structure to be confluently persistent. Such transformations for fully persistent data structures are given in [10], greatly improving the performance compared to the naive scheme of simply copying the inputs. Unlike fully persistent data structures, where both the naive scheme and the fully persistent scheme of [10] are feasible, we show that the naive scheme for confluently persistent data structures is itself infeasible (requires exponential space and time). Thus, prior to this paper there was no feasible method for implementing confluently persistent data structures at all. Our methods give an exponential reduction in space and time compared to the naive method, placing confluently persistent data structures in the realm of possibility.
Range Searching and Point Location among Fat Objects
 Journal of Algorithms
, 1994
"... We present a data structure that can store a set of disjoint fat objects in dspace such that point location and boundedsize range searching with arbitrarilyshaped ranges can be performed efficiently. The structure can deal with either arbitrary (fat) convex objects or nonconvex polytopes. The m ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We present a data structure that can store a set of disjoint fat objects in dspace such that point location and boundedsize range searching with arbitrarilyshaped ranges can be performed efficiently. The structure can deal with either arbitrary (fat) convex objects or nonconvex polytopes. The multipurpose data structure supports point location and range searching queries in time O(log d\Gamma1 n) and requires O(n log d\Gamma1 n) storage, after O(n log d\Gamma1 n log log n) preprocessing. The data structure and query algorithm are rather simple. 1 Introduction Fatness turns out to be an interesting phenomenon in computational geometry. Several papers present surprising combinatorial complexity reductions [3, 15, 22, 26, 32] and efficiency gains for algorithms [1, 4, 19, 28, 33] if the objects under consideration have a certain fatness. Fat objects are compact to some extent, rather than long and thin. Fatness is a realistic assumption, since in many practical instances of ...
Biased Finger Trees and ThreeDimensional Layers of Maxima
, 1994
"... We present a method for maintaining biased search trees so as to support fast finger updates (i.e., updates in which one is given a pointer to the part of the tree being changed). We illustrate the power of such biased finger trees by showing how they can be used to derive an optimal O(n log n) algo ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
We present a method for maintaining biased search trees so as to support fast finger updates (i.e., updates in which one is given a pointer to the part of the tree being changed). We illustrate the power of such biased finger trees by showing how they can be used to derive an optimal O(n log n) algorithm for the 3dimensional layersofmaxima problem and also obtain an improved method for dynamic point location.