DOI QR코드

DOI QR Code

Efficient External Memory Algorithm for Finding the Maximum Suffix of a String

스트링의 최대 서픽스를 계산하는 효율적인 외부 메모리 알고리즘

  • 김성권 (중앙대학교 컴퓨터공학과) ;
  • 김수철 (중앙대학교 컴퓨터공학과) ;
  • 조정식 (중앙대학교 컴퓨터공학과)
  • Published : 2008.08.29

Abstract

We study the problem of finding the maximum suffix of a string on the external memory model of computation with one disk. In this model, we are primarily interested in designing algorithms that reduce the number of I/Os between the disk and the internal memory. A string of length N has N suffixes and among these, the lexicographically largest one is called the maximum suffix of the string. Finding the maximum suffix of a string plays a crucial role in solving some string problems. In this paper, we present an external memory algorithm for computing the maximum suffix of a string of length N. The algorithm uses four blocks in the internal memory and performs at most 4(N/L) disk I/Os, where L is the size of a block.

외부 메모리 계산 모델에서 스트링의 최대서픽스를 찾는 문제를 고려한다. 외부메모리 모델에서는 디스크와 내부메모리 사이의 디스크 입출력 횟수를 줄이는 알고리즘을 설계하는 것이 중요 사항이다. 길이가 N인 스트링은 N개의 서픽스를 가지는데, 이중에서 사전 순서에 따라 가장 큰 것을 최대 서픽스라 부른다. 최대서픽스를 구하는 것은 여러 스트링 문제를 해결하는 데 중요한 역할을 한다. 본 논문에서는 길이가 N인 스트링의 최대 서픽스를 구하는 외부메모리 알고리즘을 제시한다. 이 알고리즘은 네 개의 내부 메모리 블록을 사용하고 최대 4(N/L)번의 디스크 입출력을 한다. 여기서 L은 블록의 크기이다.

Keywords

References

  1. T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms, Second Ed., MIT Press and McGraw-Hill, 2001
  2. M. Crochemore, String matching and periods, Bulletin of the EATCS, Vol.39, pp.149-153, 1989
  3. M. Crochemore, String matching on ordered alphabets, Theor. Comput. Sci., Vol.92, No.1, pp.33-47, 1992 https://doi.org/10.1016/0304-3975(92)90134-2
  4. M. Crochemore and D. Perrin, Two-way string matching, J. ACM, Vol.38, No.3, pp.651-675, 1991 https://doi.org/10.1145/116825.116845
  5. J.P. Duval, Factoring words over an ordered alphabet, J. Algorithms, Vol.4, No.1, pp.363-381, 1983 https://doi.org/10.1016/0196-6774(83)90017-2
  6. D.E. Knuth, J.H. Morris, and V.R. Pratt, Fast pattern matchings in strings, SIAM J. Comp., Vol.6, No.2, pp.323-350, 1977 https://doi.org/10.1137/0206024
  7. K. Roh, M. Crochemore, C.S. Iliopoulos, and K. Park, External Memory Algorithms for String Problems, Proceedings of the 17th Australasian Workshop on Combinatorial Algorithms, Central Australia, July 2006
  8. Y. Shiloach, Fast canonization of circular strings, J. Algorithms, Vol.2, pp.107-121, 1981 https://doi.org/10.1016/0196-6774(81)90013-4
  9. J.S. Vitter, External memory algorithm and data structures: dealing with massive data, ACM Computing Surveys, Vol.33, No.2, pp.209-271, 2001 https://doi.org/10.1145/384192.384193