Results 1 - 10
of
16
Self-Organizing Data Structures
- In
, 1998
"... . We survey results on self-organizing 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 16 (0 self)
- Add to MetaCart
. We survey results on self-organizing 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 on-line algorithms. For binary search trees, we present results for both on-line and off-line algorithms. Self-organizing 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 self-organizing 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 self-organizati...
Efficient Expected-Case 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 worst-case query time, there has been surprisingly little theoretical work on expected-case query time. We are given an n-vertex ..."
Abstract
-
Cited by 12 (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 worst-case query time, there has been surprisingly little theoretical work on expected-case query time. We are given an n-vertex 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 well-known 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...
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 non-uniform 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 6 (0 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 non-uniform 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...
Random Access to Grammar-Compressed 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 6 (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 grammar-compressed 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 grammar-compressed 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 heavy-paths in grammars.
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 4 (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...
Dynamic Length-Restricted 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 3 (2 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$
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 3 (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...
Self-adjusting 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 time-invariant. 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 self-organizing 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.
Subtree Weight Ratios for Optimal Binary Search Trees
, 1986
"... For an optimal binary search tree T with a subtree S(d) at a distance d from the root of T, we study the ratio of the weight of S(d) to the weight of T. The maximum possible value, which we call r(d), of the ratio of weights, is found to have an upper bound of 2/F d+3 where F i is the ith Fibona ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
For an optimal binary search tree T with a subtree S(d) at a distance d from the root of T, we study the ratio of the weight of S(d) to the weight of T. The maximum possible value, which we call r(d), of the ratio of weights, is found to have an upper bound of 2/F d+3 where F i is the ith Fibonacci number. For d = 1, 2, 3, and 4, the bound is shown to be tight. For larger d, the Fibonacci bound gives r(d) = O#(f d ) where f µ .61803 is the golden ratio. By giving a particular set of optimal trees, we prove r(d) = W((.58578...) d ), and believe a similar proof follows for r(d) = W((.60179...) d ). If we include frequencies for unsuccessful searches in the optimal binary search trees, the Fibonacci bound is found to be tight. Keywords: Optimal Binary Search Trees, Fibonacci Numbers, monotinicity function 1. Introduction An optimal binary search tree minimizes the expected search time when we are given a fixed set of keys with frequencies b 1 , b 2 ,...b n for their occu...

