Results 11  20
of
34
Spaceefficient finger search on degreebalanced search trees
 In SODA
, 2003
"... We show how to support the finger search operation on degreebalanced search trees in a spaceefficient manner that retains a worstcase time bound of O(log d), where d is the difference in rank between successive search targets. While most existing treebased designs allocate linear extra storage i ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
We show how to support the finger search operation on degreebalanced search trees in a spaceefficient manner that retains a worstcase time bound of O(log d), where d is the difference in rank between successive search targets. While most existing treebased designs allocate linear extra storage in the nodes (e.g., for side links and parent pointers), our design maintains a compact auxiliary data structure called the “hand ” during the lifetime of the tree and imposes no other storage requirement within the tree. The hand requires O(log n) space for an nnode tree and has a relatively simple structure. It can be updated synchronously during insertions and deletions with time proportional to the number of structural changes in the tree. The auxiliary nature of the hand also makes it possible to introduce finger searches into any existing implementation without modifying the underlying data representation (e.g., any implementation of RedBlack trees can be used). Together these factors make finger searches more appealing in practice. Our design also yields a simple yet optimal inorder walk algorithm with worstcase O(1) work per increment (again without any extra storage requirement in the nodes), and we believe our algorithm can be used in database applications when the overall performance is very sensitive to retrieval latency. 1
Worst case optimal unionintersection expression evaluation
 In Proceedings of the 32nd International Colloquium on Automata, Languages and Programming (ICALP ’05), volume 3580 of Lecture Notes in Computer Science
, 2005
"... addresses: ..."
Key independent optimality
 In International Symp. on Algorithms and Computation
, 2002
"... A new form of optimality for comparison based static dictionaries is introduced. This type of optimality, keyindependent optimality, is motivated by applications that assign key values randomly. It is shown that any data structure that is keyindependently optimal is expected to execute any access s ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
A new form of optimality for comparison based static dictionaries is introduced. This type of optimality, keyindependent optimality, is motivated by applications that assign key values randomly. It is shown that any data structure that is keyindependently optimal is expected to execute any access sequence where the key values are assigned arbitrarily to unordered data as fast as any offline binary search tree algorithm, within a multiplicative constant. Asymptotically tight upper and lower bounds are presented for keyindependent optimality. Splay trees are shown to be keyindependently optimal. 1
Sorting and/by Merging Finger Trees
 In Algorithms and Computation: Third International Symposium, ISAAC ’92
, 1992
"... : We describe a sorting algorithm that is optimally adaptive with respect to several important measures of presortedness. In particular, the algorithm requires O(n+k log k) time on nsequences X that have a longest ascending subsequence of length n \Gamma k and for which Rem(X) = k; O(n log(k=n)) ti ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
: We describe a sorting algorithm that is optimally adaptive with respect to several important measures of presortedness. In particular, the algorithm requires O(n+k log k) time on nsequences X that have a longest ascending subsequence of length n \Gamma k and for which Rem(X) = k; O(n log(k=n)) time on sequences with k inversions; and O(n log k) time on sequences that can be decomposed into k monotone shuffles. The algorithm makes use of an adaptive merging operation that can be implemented using finger search trees. 1 Introduction An adaptive algorithm is one which requires fewer resources to solve `easy' problem instances than it does to solve `hard'. For sorting an adaptive algorithm should run in O(n) time if presented with a sorted nsequence, and in O(n log n) time for all n sequences, with the time for any particular sequence depending upon the `nearness' of the sequence to being sorted. Mannila [7] established the notion of a measure of presortedness to quantify the disord...
Numerical Representations as HigherOrder Nested Datatypes
, 1998
"... Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their numbertheoretic counterparts. Binomial queues are probably the first data structure that wa ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their numbertheoretic counterparts. Binomial queues are probably the first data structure that was designed with this analogy in mind. In this paper we show how to express these socalled numerical representations as higherorder nested datatypes. A nested datatype allows to capture the structural invariants of a numerical representation, so that the violation of an invariant can be detected at compiletime. We develop a programming method which allows to adapt algorithms to the new representation in a mostly straightforward manner. The framework is employed to implement three different container types: binary randomaccess lists, binomial queues, and 23 finger search trees. The latter data structure, which is treated in some depth, can be seen as the main innovation from a datastruct...
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
Identifying Occurrences of Maximal Pairs in Multiple Strings
 Proceedings of the 13th Annual Symposium on Combinatorial Pattern Matching,Lecture Notes In Computer Science
, 2002
"... A molecular sequence "model" is a (structured) sequence of distinct or identical strings separated by gaps; here we design and analyze e#cient algorithms for variations of the "Model Matching" and "Model Identification" problems. ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
A molecular sequence "model" is a (structured) sequence of distinct or identical strings separated by gaps; here we design and analyze e#cient algorithms for variations of the "Model Matching" and "Model Identification" problems.
Achieving Spatial Adaptivity while Finding Approximate Nearest Neighbors
"... We present the first spatially adaptive data structure that answers approximate nearest neighbor (ANN) queries to points that reside in a geometric space of any constant dimension d. The Ltnorm approximation ratio is O(d 1+1/t), and the running time for a query q is O(d 2 lg δ(p, q)), where p is th ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
We present the first spatially adaptive data structure that answers approximate nearest neighbor (ANN) queries to points that reside in a geometric space of any constant dimension d. The Ltnorm approximation ratio is O(d 1+1/t), and the running time for a query q is O(d 2 lg δ(p, q)), where p is the result of the preceding query and δ(p, q) is the number of input points in a suitablysized box containing p and q. Our data structure has O(dn) size and requires O(d 2 n lg n) preprocessing time, where n is the number of points in the data structure. The size of the bounding box for δ depends on d, and our results rely on the Random Access Machine (RAM) model with word size Θ(lg n). 1
Putting your data structure on a diet
 In preparation (2006). [Ask Jyrki for details
, 2007
"... Abstract. Consider a data structure D that stores a dynamic collection of elements. Assume that D uses a linear number of words in addition to the elements stored. In this paper several datastructural transformations are described that can be used to transform D into another data structure D ′ that ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Abstract. Consider a data structure D that stores a dynamic collection of elements. Assume that D uses a linear number of words in addition to the elements stored. In this paper several datastructural transformations are described that can be used to transform D into another data structure D ′ that supports the same operations as D, has considerably smaller memory overhead than D, and performs the supported operations by a small constant factor or a small additive term slower than D, depending on the data structure and operation in question. The compaction technique has been successfully applied for linked lists, dictionaries, and priority queues.
Local properties of geometric graphs
 In Proc. Canadian Conference on Computational Geometry (CCCG
, 2004
"... We propose a definition of locality for properties of geometric graphs. We measure the local density of graphs using regioncounting distances [8] between pairs of vertices, and we use this density to define local properties of classes of graphs. We illustrate locality by introducing the local diame ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
We propose a definition of locality for properties of geometric graphs. We measure the local density of graphs using regioncounting distances [8] between pairs of vertices, and we use this density to define local properties of classes of graphs. We illustrate locality by introducing the local diameter of geometric graphs: we define it as the upper bound on the size of the shortest path between any pair of vertices, expressed as a function of the density of the graph around these vertices. We determine the local diameter of several wellstudied graphs such as Θgraphs, Ordered Θgraphs and Skip List Spanners. We also show that various operations, such as path and point queries using geometric graphs as data structures, have complexities which can be expressed as local properties. 1