Results 11  20
of
52
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 20 (8 self)
 Add to MetaCart
(Show Context)
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
Purely Functional Representations of Catenable Sorted Lists.
 In Proceedings of the 28th Annual ACM Symposium on Theory of Computing
, 1996
"... The power of purely functional programming in the construction of data structures has received much attention, not only because functional languages have many desirable properties, but because structures built purely functionally are automatically fully persistent: any and all versions of a structur ..."
Abstract

Cited by 20 (5 self)
 Add to MetaCart
The power of purely functional programming in the construction of data structures has received much attention, not only because functional languages have many desirable properties, but because structures built purely functionally are automatically fully persistent: any and all versions of a structure can coexist indefinitely. Recent results illustrate the surprising power of pure functionality. One such result was the development of a representation of doubleended queues with catenation that supports all operations, including catenation, in worstcase constant time [19].
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 version ..."
Abstract

Cited by 12 (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
Proximate point searching
 In Proceedings of the 14th Canadian Conference on Computational Geometry (CCCG
, 2002
"... In the 2D point searching problem, the goal is to preprocess n points P = {p1,..., pn} in the plane so that, for an online sequence of query points q1,..., qm, it can quickly determined which (if any) of the elements of P are equal to each query point qi. This problem can be solved in O(log n) time ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
In the 2D point searching problem, the goal is to preprocess n points P = {p1,..., pn} in the plane so that, for an online sequence of query points q1,..., qm, it can quickly determined which (if any) of the elements of P are equal to each query point qi. This problem can be solved in O(log n) time by mapping the problem to one dimension. We present a data structure that is optimized for answering queries quickly when they are geometrically close to the previous successful query. Specifically, our data structure executes queries in time O(log d(qi−1, qi)), where d is some distance function between two points, and uses O(n log n) space. Our structure works with a variety of distance functions. In contrast, it is proved that, for some of the most intuitive distance functions d, it is impossible to obtain an O(log d(qi−1, qi)) runtime, or any bound that is o(log n).
Key independent optimality
 In International Symp. on Algorithms and Computation
, 2002
"... A new form of optimality for comparison based static dictionaries is introduced. This type of optimality, keyindependent optimality, is motivated by applications that assign key values randomly. It is shown that any data structure that is keyindependently optimal is expected to execute any access s ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
(Show Context)
A new form of optimality for comparison based static dictionaries is introduced. This type of optimality, keyindependent optimality, is motivated by applications that assign key values randomly. It is shown that any data structure that is keyindependently optimal is expected to execute any access sequence where the key values are assigned arbitrarily to unordered data as fast as any offline binary search tree algorithm, within a multiplicative constant. Asymptotically tight upper and lower bounds are presented for keyindependent optimality. Splay trees are shown to be keyindependently optimal. 1
Worst case optimal unionintersection expression evaluation
 In Proceedings of the 32nd International Colloquium on Automata, Languages and Programming (ICALP ’05), volume 3580 of Lecture Notes in Computer Science
, 2005
"... addresses: ..."
(Show Context)
Numerical Representations as HigherOrder Nested Datatypes
, 1998
"... Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their numbertheoretic counterparts. Binomial queues are probably the first data structure that wa ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their numbertheoretic counterparts. Binomial queues are probably the first data structure that was designed with this analogy in mind. In this paper we show how to express these socalled numerical representations as higherorder nested datatypes. A nested datatype allows to capture the structural invariants of a numerical representation, so that the violation of an invariant can be detected at compiletime. We develop a programming method which allows to adapt algorithms to the new representation in a mostly straightforward manner. The framework is employed to implement three different container types: binary randomaccess lists, binomial queues, and 23 finger search trees. The latter data structure, which is treated in some depth, can be seen as the main innovation from a datastruct...
Sorting and/by Merging Finger Trees
 In Algorithms and Computation: Third International Symposium, ISAAC ’92
, 1992
"... : We describe a sorting algorithm that is optimally adaptive with respect to several important measures of presortedness. In particular, the algorithm requires O(n+k log k) time on nsequences X that have a longest ascending subsequence of length n \Gamma k and for which Rem(X) = k; O(n log(k=n)) ti ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
: We describe a sorting algorithm that is optimally adaptive with respect to several important measures of presortedness. In particular, the algorithm requires O(n+k log k) time on nsequences X that have a longest ascending subsequence of length n \Gamma k and for which Rem(X) = k; O(n log(k=n)) time on sequences with k inversions; and O(n log k) time on sequences that can be decomposed into k monotone shuffles. The algorithm makes use of an adaptive merging operation that can be implemented using finger search trees. 1 Introduction An adaptive algorithm is one which requires fewer resources to solve `easy' problem instances than it does to solve `hard'. For sorting an adaptive algorithm should run in O(n) time if presented with a sorted nsequence, and in O(n log n) time for all n sequences, with the time for any particular sequence depending upon the `nearness' of the sequence to being sorted. Mannila [7] established the notion of a measure of presortedness to quantify the disord...
Identifying Occurrences of Maximal Pairs in Multiple Strings
 Proceedings of the 13th Annual Symposium on Combinatorial Pattern Matching,Lecture Notes In Computer Science
, 2002
"... A molecular sequence "model" is a (structured) sequence of distinct or identical strings separated by gaps; here we design and analyze e#cient algorithms for variations of the "Model Matching" and "Model Identification" problems. ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
A molecular sequence "model" is a (structured) sequence of distinct or identical strings separated by gaps; here we design and analyze e#cient algorithms for variations of the "Model Matching" and "Model Identification" problems.