A BSP/CGM Algorithm for Finding All Maximal Contiguous Subsequences of a Sequence of Numbers

  • Carlos Eduardo Rodrigues Alves
  • Edson Norberto Cáceres
  • Siang Wun Song
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4128)


Given a sequence A of real numbers, we wish to find a list of all non-overlapping contiguous subsequences of A that are maximal. A maximal subsequence M of A has the property that no proper subsequence of M has a greater sum of values. Furthermore, M may not be contained properly within any subsequence of A with this property. This problem can be solved sequentially in linear time. We present a BSP/CGM algorithm that uses p processors and takes O (|A|/p) time and O (|A|/p) space per processor. The algorithm uses a constant number of communication rounds of size at most O (|A|/p). Thus the algorithm achieves linear speed-up and is highly scalable.


Parallel Algorithm Constant Number Communication Round Maximal Subsequence EREW Pram 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bentley, J.: Programming Pearls. Addison-Wesley, Reading (1986)Google Scholar
  2. 2.
    Ruzzo, W.L., Tompa, M.: A linear time algorithm for finding all maximal scoring subsequences. In: Proceedings of the 7th International Conference on Intelligent Systems for Molecular Biology, pp. 234–241. AAAI Press, Menlo Park (1999)Google Scholar
  3. 3.
    Csuros, M.: Algorithms for finding maximal-scoring segment sets. In: Jonassen, I., Kim, J. (eds.) WABI 2004. LNCS (LNBI), vol. 3240, pp. 62–73. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Wen, Z.: Fast parallel algorithm for the maximum sum problem. Parallel Computing 21, 461–466 (1995)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Alves, C.E.R., Cáceres, E.N., Song, S.W.: BSP/CGM algorithms for maximum subsequence and maximum subarray. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 139–146. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Dai, H.K., Su, H.C.: A parallel algorithm for finding all successive minimal maximum subsequences. In: Correa, J.R., Hevia, A., Kiwi, M. (eds.) LATIN 2006. LNCS, vol. 3887, pp. 337–348. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Dehne, F., Ferreira, A., Caceres, E., Song, S.W., Roncato, A.: Efficient parallel graph algorithms for coarse grained multicomputers and BSP. Algorithmica 33(2), 183–200 (2002)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Valiant, L.: A bridging model for parallel computation. Communication of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar
  9. 9.
    Dehne, F., Fabri, A., Rau-Chaplin, A.: Scalable parallel geometric algorithms for coarse grained multicomputers. In: Proc. ACM 9th Annual Computational Geometry, pp. 298–307 (1993)Google Scholar
  10. 10.
    Alves, C.E.R., Cáceres, E.N., Song, S.W.: A BSP/CGM algorithm for finding all maximal contiguous subsequences of a sequence of numbers. Technical report, Universidade de São Paulo (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Carlos Eduardo Rodrigues Alves
    • 1
  • Edson Norberto Cáceres
    • 2
  • Siang Wun Song
    • 3
  1. 1.Universidade São Judas TadeuBrazil
  2. 2.Universidade Federal de Mato Grosso do SulBrazil
  3. 3.Universidade de São PauloBrazil

Personalised recommendations