Results 1  10
of
23
An optimal algorithm for intersecting line segments in the plane
 J. ACM
, 1992
"... Abstract. Themain contribution ofthiswork is an O(nlogr ~ +k)timeal gorithmfo rcomputingall k intersections among n line segments in the plane, This time complexity IS easdy shown to be optimal. Within thesame asymptotic cost, ouralgorithm canalso construct thesubdiwslon of theplancdefmed by the se ..."
Abstract

Cited by 159 (2 self)
 Add to MetaCart
Abstract. Themain contribution ofthiswork is an O(nlogr ~ +k)timeal gorithmfo rcomputingall k intersections among n line segments in the plane, This time complexity IS easdy shown to be optimal. Within thesame asymptotic cost, ouralgorithm canalso construct thesubdiwslon of theplancdefmed by the segments and compute which segment (if any) lies right above (or below) each intersection and each endpoint. The algorithm has been implemented and performs very well. The storage requirement is on the order of n + k in the worst case, but it is considerably lower in practice. To analyze the complexity of the algorithm, an amortization argument based on a new combinatorial theorem on line arrangements is used.
Planar Separators and Parallel Polygon Triangulation
"... We show how to construct an O ( p n)separator decomposition of a planar graph G in O(n) time. Such a decomposition defines a binary tree where each node corresponds to a subgraph of G and stores an O ( p n)separator of that subgraph. We also show how to construct an O(n)way decomposition tree in ..."
Abstract

Cited by 52 (8 self)
 Add to MetaCart
We show how to construct an O ( p n)separator decomposition of a planar graph G in O(n) time. Such a decomposition defines a binary tree where each node corresponds to a subgraph of G and stores an O ( p n)separator of that subgraph. We also show how to construct an O(n)way decomposition tree in parallel in O(log n) time so that each node corresponds to a subgraph of G and stores an O(n 1=2+)separator of that subgraph. We demonstrate the utility of such a separator decomposition by showing how it can be used in the design of a parallel algorithm for triangulating a simple polygon deterministically in O(log n) time using O(n = log n) processors on a CRCW PRAM.
Dynamic Trees and Dynamic Point Location
 In Proc. 23rd Annu. ACM Sympos. Theory Comput
, 1991
"... This paper describes new methods for maintaining a pointlocation data structure for a dynamicallychanging monotone subdivision S. The main approach is based on the maintenance of two interlaced spanning trees, one for S and one for the graphtheoretic planar dual of S. Queries are answered by using ..."
Abstract

Cited by 43 (9 self)
 Add to MetaCart
This paper describes new methods for maintaining a pointlocation data structure for a dynamicallychanging monotone subdivision S. The main approach is based on the maintenance of two interlaced spanning trees, one for S and one for the graphtheoretic planar dual of S. Queries are answered by using a centroid decomposition of the dual tree to drive searches in the primal tree. These trees are maintained via the linkcut trees structure of Sleator and Tarjan, leading to a scheme that achieves vertex insertion/deletion in O(log n) time, insertion/deletion of kedge monotone chains in O(log n + k) time, and answers queries in O(log 2 n) time, with O(n) space, where n is the current size of subdivision S. The techniques described also allow for the dual operations expand and contract to be implemented in O(log n) time, leading to an improved method for spatial pointlocation in a 3dimensional convex subdivision. In addition, the interlacedtree approach is applied to online pointlo...
Cache oblivious distribution sweeping
 IN PROC. 29TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES, AND PROGRAMMING (ICALP), VOLUME 2380 OF LNCS
, 2002
"... We adapt the distribution sweeping method to the cache oblivious model. Distribution sweeping is the name used for a general approach for divideandconquer algorithms where the combination of solved subproblems can be viewed as a merging process of streams. We demonstrate by a series of algorithms ..."
Abstract

Cited by 40 (11 self)
 Add to MetaCart
We adapt the distribution sweeping method to the cache oblivious model. Distribution sweeping is the name used for a general approach for divideandconquer algorithms where the combination of solved subproblems can be viewed as a merging process of streams. We demonstrate by a series of algorithms for specific problems the feasibility of the method in a cache oblivious setting. The problems all come from computational geometry, and are: orthogonal line segment intersection reporting, the all nearest neighbors problem, the 3D maxima problem, computing the measure of a set of axisparallel rectangles, computing the visibility of a set of line segments from a point, batched orthogonal range queries, and reporting pairwise intersections of axisparallel rectangles. Our basic building block is a simplified version of the cache oblivious sorting algorithm Funnelsort of Frigo et al., which is of independent interest.
Efficient ExternalMemory Data Structures and Applications
, 1996
"... In this thesis we study the Input/Output (I/O) complexity of largescale problems arising e.g. in the areas of database systems, geographic information systems, VLSI design systems and computer graphics, and design I/Oefficient algorithms for them. A general theme in our work is to design I/Oeffic ..."
Abstract

Cited by 38 (12 self)
 Add to MetaCart
In this thesis we study the Input/Output (I/O) complexity of largescale problems arising e.g. in the areas of database systems, geographic information systems, VLSI design systems and computer graphics, and design I/Oefficient algorithms for them. A general theme in our work is to design I/Oefficient algorithms through the design of I/Oefficient data structures. One of our philosophies is to try to isolate all the I/O specific parts of an algorithm in the data structures, that is, to try to design I/O algorithms from internal memory algorithms by exchanging the data structures used in internal memory with their external memory counterparts. The results in the thesis include a technique for transforming an internal memory tree data structure into an external data structure which can be used in a batched dynamic setting, that is, a setting where we for example do not require that the result of a search operation is returned immediately. Using this technique we develop batched dynamic external versions of the (onedimensional) rangetree and the segmenttree and we develop an external priority queue. Following our general philosophy we show how these structures can be used in standard internal memory sorting algorithms
Distributed Indexing: A Scalable Mechanism for Distributed Information Retrieval
 In Proceedings of the 14 th Annual SIGIR Conference
, 1991
"... Despite blossoming computer network bandwidths and the emergence of hypertext and CDROM databases, little progress has been made towards uniting the world's librarystyle bibliographic databases. While a few advanced distributed retrieval systems can broadcast a query to hundreds of participating d ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
Despite blossoming computer network bandwidths and the emergence of hypertext and CDROM databases, little progress has been made towards uniting the world's librarystyle bibliographic databases. While a few advanced distributed retrieval systems can broadcast a query to hundreds of participating databases, experience shows that local users almost always clog library retrieval systems. Hence broadcast remote queries will clog nearly every system. The premise of this work is that broadcastbased systems do not scale to worldwide systems. This project describes an indexing scheme that will permit thorough yet efficient searches of millions of retrieval systems. Our architecture will work with an arbitrary number of indexing companies and information providers, and, in the market place, could provide economic incentive for cooperation between database and indexing services. We call our scheme distributed indexing, and believe it will help researchers disseminate and locate both publishe...
ExternalMemory Algorithms with Applications in Geographic Information Systems
 Algorithmic Foundations of GIS
, 1997
"... In the design of algorithms for largescale applications it is essential to consider the problem of minimizing Input/Output (I/O) communication. Geographical information systems (GIS) are good examples of such largescale applications as they frequently handle huge amounts of spatial data. In this n ..."
Abstract

Cited by 26 (9 self)
 Add to MetaCart
In the design of algorithms for largescale applications it is essential to consider the problem of minimizing Input/Output (I/O) communication. Geographical information systems (GIS) are good examples of such largescale applications as they frequently handle huge amounts of spatial data. In this note we survey the recent developments in externalmemory algorithms with applications in GIS. First we discuss the AggarwalVitter I/Omodel and illustrate why normal internalmemory algorithms for even very simple problems can perform terribly in an I/Oenvironment. Then we describe the fundamental paradigms for designing I/Oefficient algorithms by using them to design efficient sorting algorithms. We then go on and survey externalmemory algorithms for computational geometry problems  with special emphasis on problems with applications in GIS  and techniques for designing such algorithms: Using the orthogonal line segment intersection problem we illustrate the distributionsweeping and ...
Theory and Practice of IOEfficient Algorithms for Multidimensional Batched Searching Problems (Extended Abstract)
"... We describe a powerful framework for designing efficient batch algorithms for certain largescale dynamic problems that must be solved using external memory. The class of problems we consider, which we call colorable externaldecomposable problems, include rectangle intersection, orthogonal line se ..."
Abstract

Cited by 22 (15 self)
 Add to MetaCart
We describe a powerful framework for designing efficient batch algorithms for certain largescale dynamic problems that must be solved using external memory. The class of problems we consider, which we call colorable externaldecomposable problems, include rectangle intersection, orthogonal line segment intersection, range searching, and point location. We are particularly interested in these problems in two and higher dimensions. They have numerous applications in geographic information systems (GIS), spatial databases, and VLSI and CAD design. We present simplified algorithms for problems previously solved by more complicated approaches (such as rectangle intersection), and we present efficient algorithms for problems not previously solved in an efficient way (such as point location and higherdimensional versions of range searching and rectangle intersection). We give experimen...
Distributed Indexing of Autonomous Internet Services
 Computing Systems
, 1992
"... This paper describes the architecture and the design decisions behind a resource discovery tool that we prototyped to knit together the Internet's resource discovery fabric. We call the architecture distributed indexing or Indie for short. Indie consists of a directory of services and an unlimited n ..."
Abstract

Cited by 21 (5 self)
 Add to MetaCart
This paper describes the architecture and the design decisions behind a resource discovery tool that we prototyped to knit together the Internet's resource discovery fabric. We call the architecture distributed indexing or Indie for short. Indie consists of a directory of services and an unlimited number of broker databases that index their own data, data stored in other brokers, and data available from other resource discovery services. The indexing mechanism doubles as a lazily consistent data replication mechanism that can replicate the directory of services or any other broker at will. An Indie broker automatically clusters references to related objects stored in other autonomous discovery and database services. Since Indie brokers cluster related information skimmed from thousands of scattered services, efficient exhaustive search is possible. This centralization led to the success of the archie file location service. In a way, Indie is a generalized archie that locates autonomou...