Results 1 
9 of
9
Fast Algorithms for Sorting and Searching Strings
, 1997
"... We present theoretical algorithms for sorting and searching multikey data, and derive from them practical C implementations for applications in which keys are character strings. The sorting algorithm blends Quicksort and radix sort; it is competitive with the best known C sort codes. The searching a ..."
Abstract

Cited by 146 (0 self)
 Add to MetaCart
We present theoretical algorithms for sorting and searching multikey data, and derive from them practical C implementations for applications in which keys are character strings. The sorting algorithm blends Quicksort and radix sort; it is competitive with the best known C sort codes. The searching algorithm blends tries and binary search trees; it is faster than hashing and other commonly used search methods. The basic ideas behind the algorithms date back at least to the 1960s, but their practical utility has been overlooked. We also present extensions to more complex string problems, such as partialmatch searching. 1. Introduction Section 2 briefly reviews Hoare's [9] Quicksort and binary search trees. We emphasize a wellknown isomorphism relating the two, and summarize other basic facts. The multikey algorithms and data structures are presented in Section 3. Multikey Quicksort orders a set of n vectors with k components each. Like regular Quicksort, it partitions its input into...
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...
Adaptive Heuristics for Binary Search Trees and Constant Linkage Cost
 In Proc. of the 2nd ACMSIAM Symposium on Discrete Algorithms
, 1995
"... We present lower and upper bounds on adaptive heuristics for maintaining binary search trees using a constant number of link or pointer changes for each operation (constant linkage cost (CLC)). We show that no adaptive heuristic with an amortized linkage cost of o(log n) can be competitive. In part ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
We present lower and upper bounds on adaptive heuristics for maintaining binary search trees using a constant number of link or pointer changes for each operation (constant linkage cost (CLC)). We show that no adaptive heuristic with an amortized linkage cost of o(log n) can be competitive. In particular, we show that any heuristic that performs f(n) = o(log n) promotions (rotations) amortized over each access has a competitive ratio of at least \Omega\Gammaast n=f(n)) against an oblivious adversary, and any heuristic that performs f(n) = o(log n) pointer changes amortized over each access has a competitive ratio of at least\Omega\Gamma log n f(n) log(log n=f(n)) ) against an adaptive online adversary. In our investigation of upper bounds we present four adaptive heuristics: ffl A randomized, worstcaseCLC heuristic (R2P) whose expected search time is within a constant factor of the search time using an optimal tree; that is, it is statically competitive ffl A randomized, expecte...
A General Technique for Managing Strings in ComparisonDriven Data Structures
"... Abstract. This paper presents a general technique for optimally transforming any dynamic data structure D that operates on atomic and indivisible keys by constanttime comparisons, into a data structure D ′ that handles unboundedlength keys whose comparison cost is not a constant. 1 ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. This paper presents a general technique for optimally transforming any dynamic data structure D that operates on atomic and indivisible keys by constanttime comparisons, into a data structure D ′ that handles unboundedlength keys whose comparison cost is not a constant. 1
Efficient Techniques for Maintaining Multidimensional Keys in Linked Data Structures (Extended Abstract)
 In Proc. of the 26th International Colloquium (ICALP99), LNCS
, 1999
"... We describe a general paradigm for maintaining multidimensional keys in linked data structures. In particular, we show how to augment data structures de ned on onedimensional keys so as to store, access and update eÆciently kdimensional keys under the lexicographic order. While simple approaches p ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We describe a general paradigm for maintaining multidimensional keys in linked data structures. In particular, we show how to augment data structures de ned on onedimensional keys so as to store, access and update eÆciently kdimensional keys under the lexicographic order. While simple approaches produce an O(k) slowdown as a multiplicative factor in the running times of the original data structure, our method achieves a better O(k) additive term at the price of adding just few integers and pointers. As a result, we improve existing bounds and achieve new results in a simple way, without giving up the structural and topological properties of the underlying data structures. This is particularly important, as it allows us to exploit many properties of onedimensional searching, and makes our approach amenable to practical implementations. 1 Introduction A vast repertoire of basic searching data structures, such as AVLtrees [1...
Efficient Adaptive Data Compression Using Fano Binary Search Trees
 in The 20th International Symposium on Computer and Information Sciences
, 2005
"... In this paper, we show an effective way of using adaptive selforganizing data structures in enhancing compression schemes. We introduce a new data structure, the Partitioning Binary Search Tree (PBST), which is based on the wellknown Binary Search Tree (BST), and when used in conjunction with Fano ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this paper, we show an effective way of using adaptive selforganizing data structures in enhancing compression schemes. We introduce a new data structure, the Partitioning Binary Search Tree (PBST), which is based on the wellknown Binary Search Tree (BST), and when used in conjunction with Fano encoding, the PBST leads to the socalled Fano Binary Search Tree (FBST). The PBST and FBST can be maintained adaptively and in a selforganizing manner by using new treebased operators, namely the ShiftToLeft (STL) and the ShiftToRight (STR) operators. The encoding and decoding procedures that also update the FBST have been implemented, and show that the adaptive Fano coding using FBSTs, the Huffman, and the greedy adaptive Fano coding achieve similar compression ratios.
Properties of MultiSplay Trees
, 2009
"... We show that multisplay trees have most of the properties that splay trees have. Specifically, we show that multisplay trees have the following properties: the access lemma, static optimality, the static finger property, the working set property, and keyindependent optimality. Moreover, we prove ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We show that multisplay trees have most of the properties that splay trees have. Specifically, we show that multisplay trees have the following properties: the access lemma, static optimality, the static finger property, the working set property, and keyindependent optimality. Moreover, we prove that multisplay trees have the deque property, which was conjectured by Tarjan in 1985 for splay trees, but remains unproven despite a significant amount of research toward proving it. Efficiently maintaining and manipulating sets of elements from a totally ordered universe is a fundamental problem in computer science. Specifically, many algorithms need a data structure that can efficiently support at least the following operations: insert, delete, predecessor, and successor, as well as membership testing. A standard data structure that maintains a totally ordered set and
An Efficient Compression Scheme for Data Communication Which Uses a New Family of SelfOrganizing Binary Search Trees
"... In this paper, we demonstrate that we can effectively use results from the field of adaptive selforganizing data structures in enhancing compression schemes. Unlike adaptive lists, which have already been used in compression, to the best of our knowledge, adaptive selforganizing trees have not bee ..."
Abstract
 Add to MetaCart
In this paper, we demonstrate that we can effectively use results from the field of adaptive selforganizing data structures in enhancing compression schemes. Unlike adaptive lists, which have already been used in compression, to the best of our knowledge, adaptive selforganizing trees have not been used in this regard. To achieve this, we introduce a new data structure, the Partitioning Binary Search Tree (PBST) which, although based on the wellknown Binary Search Tree (BST), also appropriately partitions the data elements into mutually exclusive sets. When used in conjunction with Fano encoding, the PBST leads to the socalled Fano Binary Search Tree (FBST), which, indeed, incorporates the required Fano coding (nearlyequalprobability) property into the BST. We demonstrate how both the PBST and FBST can be maintained adaptively and in a selforganizing manner. The updating procedure that converts a PBST into an FBST, and the corresponding new treebased operators, namely the ShiftToLeft (STL) and the ShiftToRight (STR) operators, are explicitly presented. The encoding and decoding procedures that also update the FBST have been implemented and rigorously tested. Our empirical results on files of the wellknown benchmark, the Canterbury corpus, show that the adaptive Fano coding using FBSTs, the Huffman, and the greedy adaptive Fano coding achieve similar compression ratios. However, in terms of encoding/decoding speed, the new scheme is much faster than the latter two in the encoding phase, and they achieve approximately the same speed in the decoding phase. We believe that the same philosophy, namely that of using an adaptive selforganizing BST to maintain the frequencies, can also be utilized for other data encoding mechanisms, even as the Fenwick scheme has been used in arithmetic coding. 1
A Static Optimality Transformation with Applications to Planar Point Location
, 2012
"... Over the last decade, there have been several data structures that, given a planar subdivision and a probability distribution over the plane, provide a way for answering point location queries that is finetuned for the distribution. All these methods suffer from the requirement that the query distr ..."
Abstract
 Add to MetaCart
Over the last decade, there have been several data structures that, given a planar subdivision and a probability distribution over the plane, provide a way for answering point location queries that is finetuned for the distribution. All these methods suffer from the requirement that the query distribution must be known in advance. We present a new data structure for point location queries in planar triangulations. Our structure is asymptotically as fast as the optimal structures, but it requires no prior information about the queries. This is a 2d analogue of the jump from Knuth’s optimum binary search trees (discovered in 1971) to the splay trees of Sleator and Tarjan in 1985. While the former need to know the query distribution, the latter are statically optimal. This means that we can adapt to the query sequence and achieve the same asymptotic performance as an optimum static structure, without needing any additional information. 1