Results 1  10
of
10
Data Streams: Algorithms and Applications
, 2005
"... In the data stream scenario, input arrives very rapidly and there is limited memory to store the input. Algorithms have to work with one or few passes over the data, space less than linear in the input size or time significantly less than the input size. In the past few years, a new theory has emerg ..."
Abstract

Cited by 404 (24 self)
 Add to MetaCart
In the data stream scenario, input arrives very rapidly and there is limited memory to store the input. Algorithms have to work with one or few passes over the data, space less than linear in the input size or time significantly less than the input size. In the past few years, a new theory has emerged for reasoning about algorithms that work within these constraints on space, time, and number of passes. Some of the methods rely on metric embeddings, pseudorandom computations, sparse approximation theory and communication complexity. The applications for this scenario include IP network traffic analysis, mining text message streams and processing massive data sets in general. Researchers in Theoretical Computer Science, Databases, IP Networking and Computer Systems are working on the data stream challenges. This article is an overview and survey of data stream algorithmics and is an updated version of [175].1
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
Compact Dictionaries for VariableLength Keys and Data, with Applications
, 2007
"... We consider the problem of maintaining a dynamic dictionary T of keys and associated data for which both the keys and data are bit strings that can vary in length from zero up to the length w of a machine word. We present a data structure for this variablebitlength dictionary problem that supports ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We consider the problem of maintaining a dynamic dictionary T of keys and associated data for which both the keys and data are bit strings that can vary in length from zero up to the length w of a machine word. We present a data structure for this variablebitlength dictionary problem that supports constant time lookup and expected amortized constant time insertion and deletion. It uses O(m + 3n − n log 2 n) bits, where n is the number of elements in T, and m is the total number of bits across all strings in T (keys and data). Our dictionary uses an array A[1... n] in which locations store variablebitlength strings. We present a data structure for this variablebitlength array problem that supports worstcase constanttime lookups and updates and uses O(m + n) bits, where m is the total number of bits across all strings stored in A. The motivation for these structures is to support applications for which it is helpful to efficiently store short varying length bit strings. We present several applications, including representations for semidynamic graphs, order queries on integers sets, cardinal trees with varying cardinality, and simplicial meshes of d dimensions. These results either generalize or simplify previous results.
Compact Data Structures with Fast Queries
, 2005
"... Many applications dealing with large data structures can benefit from keeping them in compressed form. Compression has many benefits: it can allow a representation to fit in main memory rather than swapping out to disk, and it improves cache performance since it allows more data to fit into the c ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Many applications dealing with large data structures can benefit from keeping them in compressed form. Compression has many benefits: it can allow a representation to fit in main memory rather than swapping out to disk, and it improves cache performance since it allows more data to fit into the cache. However, a data structure is only useful if it allows the application to perform fast queries (and updates) to the data.
MultiSplay Trees
, 2006
"... In this thesis, we introduce a new binary search tree data structure called multisplay tree and prove that multisplay trees have most of the useful properties different binary search trees (BSTs) have. First, we demonstrate a close variant of the splay tree access lemma [ST85] for multisplay tree ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
In this thesis, we introduce a new binary search tree data structure called multisplay tree and prove that multisplay trees have most of the useful properties different binary search trees (BSTs) have. First, we demonstrate a close variant of the splay tree access lemma [ST85] for multisplay trees, a lemma that implies multisplay trees have the O(log n) runtime property, the static finger property, and the static optimality property. Then, we extend the access lemma by showing the remassing lemma, which is similar to the reweighting lemma for splay trees [Geo04]. The remassing lemma shows that multisplay trees satisfy the working set property and keyindependent optimality, and multisplay trees are competitive to parametrically balanced trees, as defined in [Geo04]. Furthermore, we also prove that multisplay trees achieve the O(log log n)competitiveness and that sequential access in multisplay trees costs O(n). Then we naturally extend the static model to allow insertions and deletions and show how to carry out these operations in multisplay trees to achieve
Abstract Dictionaries Using VariableLength Keys and Data, with Applications ∗
"... We consider the problem of maintaining a dynamic dictionary in which both the keys and the associated data are variablelength bitstrings. We present a dictionary structure based on hashing that supports constant time lookup and expected amortized constant time insertion and deletion. To store the ..."
Abstract
 Add to MetaCart
(Show Context)
We consider the problem of maintaining a dynamic dictionary in which both the keys and the associated data are variablelength bitstrings. We present a dictionary structure based on hashing that supports constant time lookup and expected amortized constant time insertion and deletion. To store the keydata pairs (s1, t1)... (sn, tn), our dictionary structure uses O(m) bits where m = � (max(si  − log n, 1) + ti) and si  is the length of bit string si. We assume a word length w> log m. We present several applications, including representations for semidynamic graphs, ordered sets for integers in a bounded range, cardinal trees with varying cardinality, and simplicial meshes of k dimensions. These results either generalize or simplify previous results. 1
Compression of Vertex Transitive Graphs
"... We consider the lossless compression of vertex transitive graphs. An undirected graph G = (V, E) is called vertex transitive if for every pair of vertices x, y ∈ V, there is an automorphism σ of G, such that σ(x) = y. A result due to Sabidussi, guarantees that for every vertex transitive graph G th ..."
Abstract
 Add to MetaCart
(Show Context)
We consider the lossless compression of vertex transitive graphs. An undirected graph G = (V, E) is called vertex transitive if for every pair of vertices x, y ∈ V, there is an automorphism σ of G, such that σ(x) = y. A result due to Sabidussi, guarantees that for every vertex transitive graph G there exists a graph mG (m is a positive integer) which is a Cayley graph. We propose as the compressed form of G a finite presentation (X, R) , where (X, R) presents the group Γ corresponding to such a Cayley graph mG. On a conjecture, we demonstrate that for a large subfamily of vertex transitive graphs, the original graph G can be completely reconstructed from its compressed representation. 1
Putting Your Dictionary on a Diet
"... We show that any comparisonbased dictionary data structure that requires cn memory in addition to the storage required for the data elements can be transformed into a dictionary that requires only n additional memory, for any > 0. This transformation does not increase the running times of algor ..."
Abstract
 Add to MetaCart
(Show Context)
We show that any comparisonbased dictionary data structure that requires cn memory in addition to the storage required for the data elements can be transformed into a dictionary that requires only n additional memory, for any > 0. This transformation does not increase the running times of algorithms for searching, inserting and deleting, except by a small constant factor that is independent of and an additive term of O(1=) or O(1= ) depending on the implementation used.
Finger Search on Balanced Search Trees
, 2006
"... This thesis introduces the concept of a heterogeneous decomposition of a balanced search tree and apply it to the following problems: • How can finger search be implemented without changing the representation of a RedBlack Tree, such as introducing extra storage to the nodes? (Answer: Any degreeba ..."
Abstract
 Add to MetaCart
This thesis introduces the concept of a heterogeneous decomposition of a balanced search tree and apply it to the following problems: • How can finger search be implemented without changing the representation of a RedBlack Tree, such as introducing extra storage to the nodes? (Answer: Any degreebalanced search tree can support finger search without modification in its representation by maintaining an auxiliary data structure of logarithmic size and suitably modifying the search algorithm to make use of this auxiliary data structure.) • Do MultiSplay Trees, which is known to be O(log log n)competitive to the optimal binary search trees, have the Dynamic Finger property? (Answer: This is work in progress. We believe the answer is yes.)