Finding the sub-vector with the largest sum in a sequence of n numbers is known as the maximum sum problem. Finding the k sub-vectors with the largest sums is a natural extension of this, and is known as the k maximal sums problem. In this paper we design an optimal O(n+k) time algorithm for the k maximal sums problem. We use this algorithm to obtain algorithms solving the two-dimensional k maximal sums problem in O(m2 · n + k) time, where the input is an m × n matrix with m ≤ n. We generalize this algorithm to solve the d-dimensional problem in O(n2d-1 + k) time. The space usage of all the algorithms can be reduced to O(nd-1 + k). This leads to the first algorithm for the k maximal sums problem in one dimension using O(n + k) time and O(k) space. © Springer-Verlag Berlin Heidelberg 2007.
CITATION STYLE
Brodai, G. S., & Jørgensen, A. G. (2007). A linear time algorithm for the k maximal sums problem. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4708 LNCS, pp. 442–453). https://doi.org/10.1007/978-3-540-74456-6_40
Mendeley helps you to discover research relevant for your work.