Programming pearls
Journal of Computer and System Sciences - Computational biology 2002
Linear-time algorithm for finding a maximum-density segment of a sequence
Information Processing Letters
Journal of Computer and System Sciences
Maximum segment sum is back: deriving algorithms for two segment problems with bounded lengths
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Fast and space-efficient location of heavy or dense segments in run-length encoded sequences
COCOON'03 Proceedings of the 9th annual international conference on Computing and combinatorics
The weight-constrained maximum-density subtree problem and related problems in trees
The Journal of Supercomputing
Finding a weight-constrained maximum-density subtree in a tree
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
Hi-index | 0.00 |
We study an abstract optimization problem arising from biomolecular sequence analysis. For a sequence A = 驴a1, a2, . . . , an驴 of real numbers, a segment S is a consecutive subsequence 驴ai, ai+1, . . . , aj驴. The width of S is j - i + 1, while the density is (驴i驴k驴jak)/j - i+ 1). The maximum-density segment problem takes A and two integers L and U as input and asks for a segment of A with the largest possible density among those of width at least L and at most U. If U = n (or equivalently, U = 2L - 1), we can solve the problem in O(n) time, improving upon the O(n log L)-time algorithm by Lin, Jiang and Chao for a general sequence A. Furthermore, if U and L are arbitrary, we solve the problem in O(n + n log(U - L + 1)) time. There has been no nontrivial result for this case previously. Both results also hold for a weighted variant of the maximum-density segment problem.