Results 1  10
of
11
Tight(er) Worstcase Bounds on Dynamic Searching and Priority Queues
 In STOC’2000
, 2000
"... We introduce a novel technique for converting static polynomial space search structures for ordered sets into fullydynamic linear space data structures. Based on this we present optimal bounds for dynamic integer searching, including finger search, and exponentially improved bounds for priority queu ..."
Abstract

Cited by 43 (2 self)
 Add to MetaCart
We introduce a novel technique for converting static polynomial space search structures for ordered sets into fullydynamic linear space data structures. Based on this we present optimal bounds for dynamic integer searching, including finger search, and exponentially improved bounds for priority queues.
Improved algorithms for the kmaximum subarray problem for small k
 In Proceedings of the 11th Annual International Conference on Computing and Combinatorics, volume 3595 of LNCS
, 2005
"... Abstract. The maximum subarray problem for a one or twodimensional array is to find the array portion that maiximizes the sum of array elements in it. The Kmaximum subarray problem is to find the K subarrays with largest sums. We improve the time complexity for the onedimensional case from O(min ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
Abstract. The maximum subarray problem for a one or twodimensional array is to find the array portion that maiximizes the sum of array elements in it. The Kmaximum subarray problem is to find the K subarrays with largest sums. We improve the time complexity for the onedimensional case from O(min{K + n log 2 n, n √ K}) for 0 ≤ K ≤ n(n − 1)/2 to O(n log K + K 2) for K ≤ n. The latter is better when K ≤ √ n log n. If we simply extend this result to the twodimensional case, we will have the complexity of O(n 3 log K + K 2 n 2).We improve this complexity to O(n 3) for K ≤ √ n. 1
Distances and Finger Search in Random Binary Search Trees
 SIAM Journal on Computing
, 2004
"... For the random binary search tree with n nodes inserted the number of ancestors of the elements with ranks k and l, 1 <= k < l <= n, as well as the path distance between these elements in the tree are considered. For both quantities, central limit theorems for appropriately rescaled versions are der ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
For the random binary search tree with n nodes inserted the number of ancestors of the elements with ranks k and l, 1 <= k < l <= n, as well as the path distance between these elements in the tree are considered. For both quantities, central limit theorems for appropriately rescaled versions are derived. For the path distance, the condition lk > ∞ as $n > ∞ is required. We obtain tail bounds and the order of higher moments for the path distance. The path distance measures the complexity of finger search in the tree.
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
Optimal Finger Search Trees in the Pointer Machine
, 2002
"... We develop a new finger search tree with worst case constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years, while many attempts by researchers were made to solve it. The result c ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
We develop a new finger search tree with worst case constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years, while many attempts by researchers were made to solve it. The result comes as a consequence of the innovative mechanism that guides the rebalancing operations, combined with incremental multiple splitting and fusion techniques over nodes.
Augmenting Suffix Trees, with Applications
, 1998
"... Information retrieval and data compression are the two main application areas where the rich theory of string algorithmics plays a fundamental role. In this paper, we consider one algorithmic problem from each of these areas and present highly efficient (linear or near linear time) algorithms f ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
Information retrieval and data compression are the two main application areas where the rich theory of string algorithmics plays a fundamental role. In this paper, we consider one algorithmic problem from each of these areas and present highly efficient (linear or near linear time) algorithms for both problems. Our algorithms rely on augmenting the suffix tree, a fundamental data structure in string algorithmics. The augmentations are nontrivial and they form the technical crux of this paper. In particular, they consist of adding extra edges to suffix trees, resulting in Directed Acyclic Graphs (DAGs). Our algorithms construct these "suffix DAGs" and manipulate them to solve the two problems efficiently.
Augmenting Suffix Trees, with Applications
, 1998
"... . Information retrieval and data compression are the two main application areas where the rich theory of string algorithmics plays a fundamental role. In this paper, we consider one algorithmic problem from each of these areas and present highly efficient (linear or near linear time) algorithms ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
. Information retrieval and data compression are the two main application areas where the rich theory of string algorithmics plays a fundamental role. In this paper, we consider one algorithmic problem from each of these areas and present highly efficient (linear or near linear time) algorithms for both problems. Our algorithms rely on augmenting the suffix tree, a fundamental data structure in string algorithmics. The augmentations are nontrivial and they form the technical crux of this paper. In particular, they consist of adding extra edges to suffix trees, resulting in Directed Acyclic Graphs (DAGs). Our algorithms construct these "suffix DAGs" and manipulate them to solve the two problems efficiently. 1 Introduction In this paper, we consider two algorithmic problems, one from the area of Data Compression and the other from Information Retrieval. Our main results are highly efficient (linear or near linear time) algorithms for these problems. All our algorithms rely on...
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
Augmenting Su x Trees, with Applications
"... Abstract. Information retrieval and data compression are the two main application areas where the rich theory of string algorithmics plays a fundamental role. In this paper, we consider one algorithmic problem from each of these areas and present highly e cient (linear or near linear time) algorithm ..."
Abstract
 Add to MetaCart
Abstract. Information retrieval and data compression are the two main application areas where the rich theory of string algorithmics plays a fundamental role. In this paper, we consider one algorithmic problem from each of these areas and present highly e cient (linear or near linear time) algorithms for both problems. Our algorithms rely on augmenting the su x tree, a fundamental data structure in string algorithmics. The augmentations are nontrivial and they form the technical crux of this paper. In particular, they consist of adding extra edges to su x trees, resulting in Directed Acyclic Graphs (DAGs). Our algorithms construct these \su x DAGs " and manipulate them to solve the two problems e ciently. 1
Optimal Finger Search Trees in the Pointer Machine
"... We develop a new finger search tree with worstcase constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years while many attempts by researchers were made to solve it. The result co ..."
Abstract
 Add to MetaCart
We develop a new finger search tree with worstcase constant update time in the Pointer Machine (PM) model of computation. This was a major problem in the field of Data Structures and was tantalizingly open for over twenty years while many attempts by researchers were made to solve it. The result comes as a consequence of the innovative mechanism that guides the rebalancing operations combined with incremental multiple splitting and fusion techniques over nodes.