Results 1  10
of
21
SelfOrganizing Data Structures
 In
, 1998
"... . We survey results on selforganizing data structures for the search problem and concentrate on two very popular structures: the unsorted linear list, and the binary search tree. For the problem of maintaining unsorted lists, also known as the list update problem, we present results on the competit ..."
Abstract

Cited by 18 (0 self)
 Add to MetaCart
. We survey results on selforganizing data structures for the search problem and concentrate on two very popular structures: the unsorted linear list, and the binary search tree. For the problem of maintaining unsorted lists, also known as the list update problem, we present results on the competitiveness achieved by deterministic and randomized online algorithms. For binary search trees, we present results for both online and offline algorithms. Selforganizing data structures can be used to build very effective data compression schemes. We summarize theoretical and experimental results. 1 Introduction This paper surveys results in the design and analysis of selforganizing data structures for the search problem. The general search problem in pointer data structures can be phrased as follows. The elements of a set are stored in a collection of nodes. Each node also contains O(1) pointers to other nodes and additional state data which can be used for navigation and selforganizati...
Efficient ExpectedCase Algorithms for Planar Point Location
, 2000
"... . Planar point location is among the most fundamental search problems in computational geometry. Although this problem has been heavily studied from the perspective of worstcase query time, there has been surprisingly little theoretical work on expectedcase query time. We are given an nvertex ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
. Planar point location is among the most fundamental search problems in computational geometry. Although this problem has been heavily studied from the perspective of worstcase query time, there has been surprisingly little theoretical work on expectedcase query time. We are given an nvertex planar polygonal subdivision S satisfying some weak assumptions (satisfied, for example, by all convex subdivisions). We are to preprocess this into a data structure so that queries can be answered efficiently. We assume that the two coordinates of each query point are generated independently by a probability distribution also satisfying some weak assumptions (satisfied, for example, by the uniform distribution). In the decision tree model of computation, it is wellknown from information theory that a lower bound on the expected number of comparisons is entropy(S). We provide two data structures, one of size O(n 2 ) that can answer queries in 2 entropy(S) + O(1) expected number...
Random Access to GrammarCompressed Strings
, 2011
"... Let S be a string of length N compressed into a contextfree grammar S of size n. We present two representations of S achieving O(log N) random access time, and either O(n · αk(n)) construction time and space on the pointer machine model, or O(n) construction time and space on the RAM. Here, αk(n) is ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Let S be a string of length N compressed into a contextfree grammar S of size n. We present two representations of S achieving O(log N) random access time, and either O(n · αk(n)) construction time and space on the pointer machine model, or O(n) construction time and space on the RAM. Here, αk(n) is the inverse of the k th row of Ackermann’s function. Our representations also efficiently support decompression of any substring in S: we can decompress any substring of length m in the same complexity as a single random access query and additional O(m) time. Combining these results with fast algorithms for uncompressed approximate string matching leads to several efficient algorithms for approximate string matching on grammarcompressed strings without decompression. For instance, we can find all approximate occurrences of a pattern P with at most k errors in time O(n(min{P k, k 4 + P } + log N) + occ), where occ is the number of occurrences of P in S. Finally, we are able to generalize our results to navigation and other operations on grammarcompressed trees. All of the above bounds significantly improve the currently best known results. To achieve these bounds, we introduce several new techniques and data structures of independent interest, including a predecessor data structure, two ”biased” weighted ancestor data structures, and a compact representation of heavypaths in grammars.
Optimum Binary Search Trees On The Hierarchical Memory Model
, 2001
"... The Hierarchical Memory Model (HMM) of computation is similar to the standard Random Access Machine (RAM) model except that the HMM has a nonuniform memory organized in a hierarchy of levels numbered 1 through h. The cost of accessing a memory location increases with the level number, and accesses ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
The Hierarchical Memory Model (HMM) of computation is similar to the standard Random Access Machine (RAM) model except that the HMM has a nonuniform memory organized in a hierarchy of levels numbered 1 through h. The cost of accessing a memory location increases with the level number, and accesses to memory locations belonging to the same level cost the same. Formally, the cost of a single access to the memory location at address a is given by (a), where : N ! N is the memory cost function, and the h distinct values of model the different levels of the memory hierarchy. We study the problem of constructing and storing a binary search tree (BST) of minimum cost, over a set of keys, with probabilities for successful and unsuccessful searches, on the HMM with an arbitrary number of memory levels, and for the special case h = 2. While the problem of constructing optimum binary search trees has been well studied for the standard RAM model, the additional parameter for the HMM inc...
Adaptive Structuring Of Binary Search Trees Using Conditional Rotations
 IEEE TRANSACTIONS ON KNOWLEDGE & DATA ENGINEERING
, 1987
"... Consider a set A = {A 1 , A 2 ,...,A N } of records, where each record is identified by a unique key. The records are accessed based on a set of access probabilities S = [s 1 ,s 2 ,...,s N ] and are to be arranged lexicographically using a Binary Search Tree (BST). If S is known a priori, it ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
Consider a set A = {A 1 , A 2 ,...,A N } of records, where each record is identified by a unique key. The records are accessed based on a set of access probabilities S = [s 1 ,s 2 ,...,s N ] and are to be arranged lexicographically using a Binary Search Tree (BST). If S is known a priori, it is well known [10] that an optimal BST may be constructed using A and S. We consider the case when S is not known a priori . A new restructuring heuristic is introduced that requires three extra integer memory locations per record. In this scheme the restructuring is performed only if it decreases the Weighted Path Length (WPL) of the overall resultant tree. An optimized version of the latter method which requires only one extra integer field per record has also been presented. Initial simulation results which compare our algorithm with various other static and dynamic schemes seem to indicate that this scheme asymptotically produces trees which are an order of magnitude closer to the optim...
Optimal And Nearly Optimal Static Weighted Skip Lists
"... . We consider the problem of building a static (i.e. no updates are performed) skip list of n elements, given these n elements and the corresponding access probabilities or weights. We develop a dynamic programming algorithm that builds an optimal skip list in the sense that the average access cost ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
. We consider the problem of building a static (i.e. no updates are performed) skip list of n elements, given these n elements and the corresponding access probabilities or weights. We develop a dynamic programming algorithm that builds an optimal skip list in the sense that the average access cost is minimized. We also consider nearly optimal skip lists, whose average access cost is not optimal but good enough, and can be built more efficiently than optimal skip lists. Several related issues are also discussed, for instance, other approaches to the construction of nearly optimal skip lists or the construction of optimal skip lists that minimize different kinds of search costs. 1. Introduction There are many instances where we have to deal with a static data set, i.e. no insertions, deletions or modifications are needed, and therefore it is convenient to organize the information to make the accesses to that information as efficient as possible. Just to mention a few such instances, co...
New Lower Bounds on the Cost of Binary Search Trees
 Theoretical Computer Science
, 1993
"... In this paper we provide new lower bounds on the cost of binary search trees. The bounds are expressed in terms of the entropy of the probability distribution, the number of elements and the probability that a search is successfully. Most of our lower bounds are derived by means of a new technique w ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this paper we provide new lower bounds on the cost of binary search trees. The bounds are expressed in terms of the entropy of the probability distribution, the number of elements and the probability that a search is successfully. Most of our lower bounds are derived by means of a new technique which exploits the relation between trees and codes. Our lower bounds compare favorably with known limitations. We also provide an achievable upper bound on the Kraft sum generalized to the internal nodes of a tree. This improves on a previous result. This work was partially supported by the National Council of Research (C.N.R.) under grant 91.02326.CT12 and by M.U.R.S.T. in the framework of Project: "Algoritmi, Sistemi di Calcolo e Strutture Informative". y Department of Computer Science, Columbia University, New York, N.Y. 10027 z Dipartimento di Informatica ed Applicazioni, Universit'a di Salerno, 84081 Baronissi (SA)  Italy 1 Introduction Binary search trees are a widely used da...
Dynamic LengthRestricted Coding
, 2003
"... Suppose that $S$ is a string of length $m$ drawn from an alphabet of $n$ characters, $d$ of which occur in $S$. Let $P$ be the relative frequency distribution of characters in $S$. We present a new algorithm for dynamic coding that uses at most \(\lceil \lg n \rceil 1\) bits to encode each character ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Suppose that $S$ is a string of length $m$ drawn from an alphabet of $n$ characters, $d$ of which occur in $S$. Let $P$ be the relative frequency distribution of characters in $S$. We present a new algorithm for dynamic coding that uses at most \(\lceil \lg n \rceil 1\) bits to encode each character in $S$
DISTRIBUTIONSENSITIVE POINT LOCATION IN CONVEX SUBDIVISIONS
"... A data structure is presented for point location in convex planar subdivisions when the distribution of queries is known in advance. The data structure has an expected query time that is within a constant factor of optimal. ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
A data structure is presented for point location in convex planar subdivisions when the distribution of queries is known in advance. The data structure has an expected query time that is within a constant factor of optimal.
Selfadjusting of ternary search tries using conditional rotations and randomized heuristics
 Comput. J
, 2005
"... A Ternary Search Trie (TST) is a highly efficient dynamic dictionary structure applicable for strings and textual data. The strings are accessed based on a set of access probabilities and are to be arranged using a TST. We consider the scenario where the probabilities are not known a priori, and is ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
A Ternary Search Trie (TST) is a highly efficient dynamic dictionary structure applicable for strings and textual data. The strings are accessed based on a set of access probabilities and are to be arranged using a TST. We consider the scenario where the probabilities are not known a priori, and is timeinvariant. Our aim is to adaptively restructure the TST so as to yield the best access or retrieval time. Unlike the case of lists and binary search trees, where numerous methods have been proposed, in the case of the TST, currently, the number of reported adaptive schemes are few. In this paper, we consider various selforganizing schemes that were applied to Binary Search Trees, and apply them to TSTs. Three new schemes, which are the splaying, the conditional rotation and the randomization heuristics, have been proposed, tested and comparatively presented. The results demonstrate that the conditional rotation heuristic is the best when compared to other heuristics that are considered in the paper.