Abstract
Given a sequence, the problem studied in this paper is to find a set of k disjoint continuous subsequences such that the total sum of all elements in the set is maximized. This problem arises naturally in the analysis of DNA sequences. The previous best known algorithm requires Θ(n log n) time in the worst case. For a given sequence of length n, we present an almost linear-time algorithm for this problem. Our algorithm uses a disjoint-set data structure and requires O(nα(n, n)) time in the worst case, where α(n, n) is the inverse Ackermann function.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Csűrös, M.: Maximum-scoring segment sets. IEEE/ACM Transactions on Computational Biology and Bioinformatics 1(4), 139–150 (2004)
Fariselli, P., Finelli, M., Marchignoli, D., Martelli, P., Rossi, I., Casadio, R.: Maxsubseq: An algorithm for segment-length optimization. The case study of the transmembrane spanning segments. Bioinformatics 19, 500–505 (2003)
Huang, X.: An algorithm for identifying regions of a DNA sequence that satisfy a content requirement. Computer Applications in the Biosciences 10, 219–225 (1994)
Auger, I.E., Lawrence, C.E.: Algorithms for the optimal identification of segment neighbourhoods. Bulletin of Mathematical Biology 51(1), 39–54 (1989)
Bement, T.R., Waterman, M.S.: Locating maximum variance segments in sequential data. Mathematical Geology 9(1), 55–61 (1977)
Bentley, J.L.: Programming pearls: Algorithm design techniques. Communications of the ACM 27, 865–871 (1984)
Bentley, J.L.: Programming pearls: Perspective on performance. Communications of the ACM 27, 1087–1092 (1984)
Smith, D.: Applications of a strategy for designing divide-and-conquer algorithms. Science of Computer Programming 8, 213–229 (1987)
Bae, S.E., Takaoka, T.: Algorithms for the problem of k maximum sums and a VLSI algorithm for the k maximum subarrays problem. In: Proceedings of the 7th International Symposium on Parallel Architectures, Algorithms and Networks, pp. 247–253 (2004)
Bae, S.E., Takaoka, T.: Improved algorithms for the k-maximum subarray problem for small k. In: Wang, L. (ed.) COCOON 2005. LNCS, vol. 3595, pp. 621–631. Springer, Heidelberg (2005)
Bengtsson, F., Chen, J.: Efficient algorithms for k maximum sums. In: Fleischer, R., Trippen, G. (eds.) ISAAC 2004. LNCS, vol. 3341, pp. 137–148. Springer, Heidelberg (2004); Revised version to appear in Algorithmica.
Lin, T.C., Lee, D.T.: Randomized algorithm for the sum selection problem. In: Deng, X., Du, D.-Z. (eds.) ISAAC 2005. LNCS, vol. 3827, pp. 515–523. Springer, Heidelberg (2005)
Bergkvist, A., Damaschke, P.: Fast algorithms for finding disjoint subsequences with extremal densities. In: Deng, X., Du, D.-Z. (eds.) ISAAC 2005. LNCS, vol. 3827, pp. 714–723. Springer, Heidelberg (2005)
Chung, K.M., Lu, H.I.: An optimal algorithm for the maximum-density segment problem. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 136–147. Springer, Heidelberg (2003)
Ruzzo, W.L., Tompa, M.: A linear time algorithm for finding all maximal scoring subsequences. In: Proceedings of the 7th Annual International Conference on Intelligent Systems for Molecular Biology, pp. 234–241 (1999)
Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. The MIT Press, Cambridge (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bengtsson, F., Chen, j. (2006). Computing Maximum-Scoring Segments in Almost Linear Time. In: Chen, D.Z., Lee, D.T. (eds) Computing and Combinatorics. COCOON 2006. Lecture Notes in Computer Science, vol 4112. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11809678_28
Download citation
DOI: https://doi.org/10.1007/11809678_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-36925-7
Online ISBN: 978-3-540-36926-4
eBook Packages: Computer ScienceComputer Science (R0)