Results 1  10
of
80
New Data Structures for Orthogonal Range Searching
, 2001
"... We present new general techniques for static orthogonal range searching problems intwo and higher dimensions. For the general range reporting problem in R 3, we achieve query time O(log n + k) using space O(n log1+ " n), where n denotes the number of storedpoints and k the number of point ..."
Abstract

Cited by 81 (2 self)
 Add to MetaCart
We present new general techniques for static orthogonal range searching problems intwo and higher dimensions. For the general range reporting problem in R 3, we achieve query time O(log n + k) using space O(n log1+ &quot; n), where n denotes the number of storedpoints and k the number of points to be reported. For the range reporting problem onan n * n grid, we achieve query time O(log log n + k) using space O(n log &quot; n). For thetwodimensional semigroup range sum problem we achieve query time O(log n) usingspace O ( n log n).
Lower bounds for orthogonal range searching: I. the reporting case
 Journal of the ACM
, 1990
"... Abstract. We establish lower bounds on the complexity of orthogonal range reporting in the static case. Given a collection of n points in dspace and a box [a,, b,] x. x [ad, bd], report every point whose ith coordinate lies in [a,, biJ, for each i = 1,..., d. The collection of points is fixed once ..."
Abstract

Cited by 69 (4 self)
 Add to MetaCart
Abstract. We establish lower bounds on the complexity of orthogonal range reporting in the static case. Given a collection of n points in dspace and a box [a,, b,] x. x [ad, bd], report every point whose ith coordinate lies in [a,, biJ, for each i = 1,..., d. The collection of points is fixed once and for all and can be preprocessed. The box, on the other hand, constitutes a query that must be answered online. It is shown that on a pointer machine a query time of O(k + polylog(n)), where k is the number of points to be reported, can only be achieved at the expense of fl(n(logn/loglogn)d‘) storage. Interestingly, these bounds are optimal in the pointer machine model, but they can be improved (ever so slightly) on a random access machine. In a companion paper, we address the related problem of adding up weights assigned to the points in the query box.
An optimal minimum spanning tree algorithm
 J. ACM
, 2000
"... Abstract. We establish that the algorithmic complexity of the minimum spanning tree problem is equal to its decisiontree complexity. Specifically, we present a deterministic algorithm to find a minimum spanning tree of a graph with n vertices and m edges that runs in time O(T ∗ (m, n)) where T ∗ is ..."
Abstract

Cited by 59 (11 self)
 Add to MetaCart
Abstract. We establish that the algorithmic complexity of the minimum spanning tree problem is equal to its decisiontree complexity. Specifically, we present a deterministic algorithm to find a minimum spanning tree of a graph with n vertices and m edges that runs in time O(T ∗ (m, n)) where T ∗ is the minimum number of edgeweight comparisons needed to determine the solution. The algorithm is quite simple and can be implemented on a pointer machine. Although our time bound is optimal, the exact function describing it is not known at present. The current best bounds known for T ∗ are T ∗ (m, n) = �(m) and T ∗ (m, n) = O(m · α(m, n)), where α is a certain natural inverse of Ackermann’s function. Even under the assumption that T ∗ is superlinear, we show that if the input graph is selected from Gn,m, our algorithm runs in linear time with high probability, regardless of n, m, or the permutation of edge weights. The analysis uses a new martingale for Gn,m similar to the edgeexposure martingale for Gn,p.
Dominators in Linear Time
, 1997
"... A linear time algorithm is presented for finding dominators in control flow graphs. ..."
Abstract

Cited by 37 (0 self)
 Add to MetaCart
(Show Context)
A linear time algorithm is presented for finding dominators in control flow graphs.
Optimal Dynamic Range Searching in Nonreplicating Index Structures
 In Proc. International Conference on Database Theory, LNCS 1540
, 1997
"... We consider the problem of dynamic range searching in tree structures that do not replicate data. We propose a new dynamic structure, called the Otree, that achieves a query time complexity of O(n (d\Gamma1)=d ) on n ddimensional points and an amortized insertion/deletion time complexity of O(l ..."
Abstract

Cited by 30 (2 self)
 Add to MetaCart
(Show Context)
We consider the problem of dynamic range searching in tree structures that do not replicate data. We propose a new dynamic structure, called the Otree, that achieves a query time complexity of O(n (d\Gamma1)=d ) on n ddimensional points and an amortized insertion/deletion time complexity of O(log n). We show that this structure is optimal when data is not replicated. In addition to optimal query and insertion/deletion times, the Otree also supports exact match queries in worstcase logarithmic time. 1 Introduction Given a set S of ddimensional points, a range query q is specified by d 1dimensional intervals [q s i ; q e i ], one for each dimension i, and retrieves all points p = (p 1 ; p 2 ; : : : p d ) in S such that h8i 2 f1; : : : ; dg : q s i p i q e i i. This type of searching in multidimensional space has important applications in geographic information systems, image databases, and computer graphics. Several structures such as the range trees [3], Prange trees [29...
LinearTime PointerMachine Algorithms for Least Common Ancestors, MST Verification, and Dominators
 IN PROCEEDINGS OF THE THIRTIETH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING
, 1998
"... We present two new data structure toolsdisjoint set union with bottomup linking, and pointerbased radix sortand combine them with bottomlevel microtrees to devise the first lineartime pointermachine algorithms for offline least common ancestors, minimum spanning tree (MST) verification, ..."
Abstract

Cited by 29 (4 self)
 Add to MetaCart
(Show Context)
We present two new data structure toolsdisjoint set union with bottomup linking, and pointerbased radix sortand combine them with bottomlevel microtrees to devise the first lineartime pointermachine algorithms for offline least common ancestors, minimum spanning tree (MST) verification, randomized MST construction, and computing dominators in a flowgraph.
Viewing a Program Transformation System at Work
 Joint 6th International Conference on Programming Language Implementation and Logic programming (PLILP) and 4th International Conference on Algebraic and Logic Programming (ALP), LNCS 844
, 1994
"... ..."
(Show Context)
A New, Simpler LinearTime Dominators Algorithm
 ACM Transactions on Programming Languages and Systems
, 1998
"... this article is organized as follows. Section 2 outlines Lengauer and Tarjan's approach. Section 3 gives a broad overview of our algorithm and dierentiates it from previous work. Section 4 presents our algorithm in detail, and Section 5 analyzes its running time. Section 6 presents our new path ..."
Abstract

Cited by 28 (5 self)
 Add to MetaCart
this article is organized as follows. Section 2 outlines Lengauer and Tarjan's approach. Section 3 gives a broad overview of our algorithm and dierentiates it from previous work. Section 4 presents our algorithm in detail, and Section 5 analyzes its running time. Section 6 presents our new pathcompression result, on which the analysis relies. Section 7 describes our implementation, and Section 8 reports experimental results. We conclude in Section 9
RealTime Simulation of A Set Machine on a RAM
 Proceedings on ICCI 89, May 1989, also in Computing and Information
, 1989
"... ..."
(Show Context)
Improved Algorithms for Finding Level Ancestors in Dynamic Trees
 Automata, Languages and Programming, 27th International Colloquium, ICALP 2000, number 1853 in LNCS
, 2000
"... Given a node x at depth d in a rooted tree LevelAncestor(x; i) returns the ancestor to x in depth d i. We show how to maintain a tree under addition of new leaves so that updates and level ancestor queries are being performed in worst case constant time. Given a forest of trees with n nodes wher ..."
Abstract

Cited by 28 (1 self)
 Add to MetaCart
(Show Context)
Given a node x at depth d in a rooted tree LevelAncestor(x; i) returns the ancestor to x in depth d i. We show how to maintain a tree under addition of new leaves so that updates and level ancestor queries are being performed in worst case constant time. Given a forest of trees with n nodes where edges can be added, m queries and updates take O(m(m;n)) time. This solves two open problems (P.F.