Results 1 - 10
of
11
Marked Ancestor Problems
, 1998
"... Consider a rooted tree whose nodes can be marked or unmarked. Given a node, we want to find its nearest marked ancestor. This generalises the well-known predecessor problem, where the tree is a path. ..."
Abstract
-
Cited by 45 (6 self)
- Add to MetaCart
Consider a rooted tree whose nodes can be marked or unmarked. Given a node, we want to find its nearest marked ancestor. This generalises the well-known predecessor problem, where the tree is a path.
Static Single Information Form
- Master's thesis, Massachussets Institute of Technology
, 1999
"... This paper presents a new intermediate format called Static Single Information (SSI) form. SSI form generalizes the traditional concept of a variable de nition to include all information de nition points, or points where the analysis may obtain information about the value in a variable. Informatio ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
This paper presents a new intermediate format called Static Single Information (SSI) form. SSI form generalizes the traditional concept of a variable de nition to include all information de nition points, or points where the analysis may obtain information about the value in a variable. Information de nition points include conditional branches as well as assignments. Because SSI form provides a new name for each variable at each information de nition point, it provides excellent support for both predicated analyses, which exploit information gained from conditionals, and backwards dataow analyses.
UNIFYING THE LANDSCAPE OF CELL-PROBE LOWER BOUNDS
, 2008
"... We show that a large fraction of the data-structure lower bounds known today in fact follow by reduction from the communication complexity of lopsided (asymmetric) set disjointness. This includes lower bounds for: • high-dimensional problems, where the goal is to show large space lower bounds. • co ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We show that a large fraction of the data-structure lower bounds known today in fact follow by reduction from the communication complexity of lopsided (asymmetric) set disjointness. This includes lower bounds for: • high-dimensional problems, where the goal is to show large space lower bounds. • constant-dimensional geometric problems, where the goal is to bound the query time for space O(n·polylogn). • dynamic problems, where we are looking for a trade-off between query and update time. (In this case, our bounds are slightly weaker than the originals, losing a lglgn factor.) Our reductions also imply the following new results: • an Ω(lgn/lglgn) bound for 4-dimensional range reporting, given space O(n · polylogn). This is quite timely, since a recent result [39] solved 3D reporting in O(lg 2 lgn) time, raising the prospect that higher dimensions could also be easy. • a tight space lower bound for the partial match problem, for constant query time. • the first lower bound for reachability oracles. In the process, we prove optimal randomized lower bounds for lopsided set disjointness.
Incremental Algorithms for Dispatching in Dynamically Typed Languages
"... A fundamental problem in the implementation of object-oriented languages is that of a frugal dispatching data structure, i.e., support for quick response to dispatching queries combined with compact representation of the type hierarchy and the method families. Previous theoretical algorithms tend to ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
A fundamental problem in the implementation of object-oriented languages is that of a frugal dispatching data structure, i.e., support for quick response to dispatching queries combined with compact representation of the type hierarchy and the method families. Previous theoretical algorithms tend to be impractical due to their complexity and large hidden constant. In contrast, successful practical heuristics, including Vitek and Horspool's compact dispatch tables (CT) [16] designed for dynamically typed languages, lack theoretical support. In subjecting CT to theoretical analysis, we are not only able to improve and generalize it, but also provide the first non-trivial bounds on the performance of such a heuristic.
The tree inclusion problem: In optimal space and faster
- IN PROCEEDINGS OF THE 32ND INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES AND PROGRAMMING
, 2005
"... Given two rooted, ordered, and labeled trees P and T the tree inclusion problem is to determine if P can be obtained from T by deleting nodes in T. This problem has recently been recognized as an important query primitive in XML databases. Kilpeläinen and Mannila (SIAM J. of Comp. 1995) presented t ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Given two rooted, ordered, and labeled trees P and T the tree inclusion problem is to determine if P can be obtained from T by deleting nodes in T. This problem has recently been recognized as an important query primitive in XML databases. Kilpeläinen and Mannila (SIAM J. of Comp. 1995) presented the first polynomial time algorithm using quadratic time and space. Since then several improved results have been obtained for special cases when P and T have a small number of leaves or small depth. However, in the worst case these algorithms still use quadratic time and space. In this paper we present a new approach to the problem which leads to a new algorithm which uses optimal linear space and has subquadratic running time. Our algorithm improves all previous time and space bounds. Most importantly, the space is improved by a linear factor. This will make it possible to query larger XML databases and speed up the query time since more of the computation can be kept in main memory.
Time and space efficient multi-method dispatching
- IN SWAT: SCANDINAVIAN WORKSHOP ON ALGORITHM THEORY
, 2002
"... ..."
Implementing statically typed object-oriented programming languages
, 2002
"... Object-oriented programming languages represent an original implementation issue due to the mechanism known as late binding, aka message sending. The underlying principle is that the address of the actually called procedure is not statically determined, at compile-time, but depends on the dynamic ty ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Object-oriented programming languages represent an original implementation issue due to the mechanism known as late binding, aka message sending. The underlying principle is that the address of the actually called procedure is not statically determined, at compile-time, but depends on the dynamic type of a distinguished parameter known as the receiver. In statically typed languages, the point is that the receiver’s dynamic type may be a subtype of its static type. A similar issue arises with attributes, because their position in the object layout may depends on the object’s dynamic type. Furthermore, subtyping introduces another original feature, i.e. subtype checks. All three mechanisms need specific implementations, data structures and algorithms. In statically typed languages, late binding is generally implemented with tables, called virtual function tables in C++ jargon. These tables reduce method calls to function calls, through a small fixed number of extra indirections. It follows that object-oriented programming yields some overhead, as compared to usual procedural languages. The different techniques and their resulting overhead depend on several parameters. Firstly, inheritance and subtyping may be single or multiple and a mixing is even possible, as in Java,
Lower Bound Techniques for Data Structures
, 2008
"... We describe new techniques for proving lower bounds on data-structure problems, with the following broad consequences:
⢠the first Ω(lgn) lower bound for any dynamic problem, improving on a bound that had been standing since 1989;
⢠for static data structures, the first separation between linea ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We describe new techniques for proving lower bounds on data-structure problems, with the following broad consequences:
⢠the first Ω(lgn) lower bound for any dynamic problem, improving on a bound that had been standing since 1989;
⢠for static data structures, the first separation between linear and polynomial space. Specifically, for some problems that have constant query time when polynomial space is allowed, we can show Ω(lg n/ lg lg n) bounds when the space is O(n · polylog n).
Using these techniques, we analyze a variety of central data-structure problems, and obtain improved lower bounds for the following:
⢠the partial-sums problem (a fundamental application of augmented binary search trees);
⢠the predecessor problem (which is equivalent to IP lookup in Internet routers);
⢠dynamic trees and dynamic connectivity;
⢠orthogonal range stabbing;
⢠orthogonal range counting, and orthogonal range reporting;
⢠the partial match problem (searching with wild-cards);
⢠(1 + ε)-approximate near neighbor on the hypercube;
⢠approximate nearest neighbor in the lâ metric.
Our new techniques lead to surprisingly non-technical proofs. For several problems, we obtain simpler proofs for bounds that were already known.
Web www.it-c.dkTime and Space Efficient Multi-Method Dispatching
, 2001
"... Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. ..."
Abstract
- Add to MetaCart
Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy.

