Efficient algorithms for k maximum sums
We study the problem of computing the k maximum sum subsequences. Given a sequence of real numbers (x(1), x(2),..., x(n)) and an integer parameter k, 1 <= k <= 1/2n(n - 1), the problem involves finding the k largest values of Sigma(j)(l=t) x(l) for 1 <= 1 <= j <= n. The problem for fixed k = 1, also known as the maximum sum subsequence problem, has received much attention in the literature and is linear-time solvable. Recently, Bae and Takaoka presented a Theta (nk)-time algorithm for the k maximum sum subsequences problem. In this paper we design an efficient algorithm that solves the above problem in O(min{k + n log(2) n, n root k}) time in the worst case. Our algorithm is optimal for k = Omega(n log(2) n) and improves over the previously best known result for any value of the user-defined parameter k < 1. Moreover, our results are also extended to the multi-dimensional versions of the k maximum sum subsequences problem; resulting in fast algorithms as well.
maximum sum maximum subsequence maximum subarray algorithm design algorithm complexity