Computing Longest Common Substrings by Using Suffix Arrays

써픽스 배열을 이용한 최장 공통 부분 스트링 계산

  • 전정은 (부산대학교 컴퓨터공학과) ;
  • 박희진 (한양대학교 정보통신학부) ;
  • 김동규 (부산대학교 컴퓨터공학과)
  • Published : 2004.10.01

Abstract

최장 공통 부분 스트링이란 주어진 두 개 이상의 스트링에서 가장 길게 일치하는 공통 부분 스트링을 계산하는 문제이다 최장 공통 부분 스트링은 스트링 프로세싱이나 생물정보학 분야에서 널리 사용되고 있는 중요한 문제이지만, 현재까지 연구된 동적 프로그래밍이나 써픽스 트리를 사용한 방법은 저장 공간을 많이 차지하므로 효율적이지 못하다 따라서 적은 저장 공간을 차지하면서도 최장 공통 부분 스트링을 빨리 구할 수 있는 알고리즘이 필요하며, 본 논문에서는 이를 위해 써픽스 배열을 도입하였다. 본 논문에서 제시한 알고리즘은 선형 시간, 공간 복잡도를 가지며, 써픽스 트리의 최하 공통 조상(LCA, Lowest Common Ancestor) 연산이나 써픽스 배열에서 사용하는 그와 비슷한 구간 최소 값 질의(RMQ, Range Minima Query)를 전혀 사용하지 않으므로 매우 효율적이다.

Keywords