• Title/Summary/Keyword: suffix arrays

Search Result 19, Processing Time 0.027 seconds

Efficient Merging Algorithms for Suffix Arrays and their Application (효율적인 써픽스 배열 합병 알고리즘과 응용)

  • 전정은;박희진;김동규
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.973-975
    • /
    • 2004
  • 대표적인 인덱스 자료 구조인 써픽스 트리와 써픽스 배열은 긴 문자열에서 임의의 패턴을 검색하는 데 효율적이다. 써픽스 트리는 써픽스 배열보다 큰공간을 차지하지만, 이미 구축된 써픽스 트리의 정보를 이용하여 쉽게 합병할 수 있다. 본 논문에서는 문자열 A와 B에 대한 써픽스 배열이 구축되어 있을 때 A#B$의 일반화된 써픽스 배열을 구축하기 위한 합병 알고리즘을 두 가지 제시하였다. 이 알고리즘을 사용하면 기존의 유전체 서열 써픽스 배열을 재사용하는 방식으로 합병하여, 빠른 시간 안에 효율적으로 합병된 써픽스 배열을 만들 수 있다. 실험 결과, 합병 알고리즘은 일반화된 써픽스 배열을 다시 구축하는 것보다 5배정도 빠른 속도를 보였다.

  • PDF

Efficient Storing of Suffix Arrays using Block-Sorting Compression (블록정렬압축을 이용한 접미사배열의 효율적인 저장)

  • Lee, Geon-Ho;Park, Geun-Su
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.28 no.7
    • /
    • pp.350-355
    • /
    • 2001
  • 블록정렬압축은 빠른 속도로 동작하면서 높은 압축률을 나타내는 압축 방법이다. 또한 블록정렬방식으로 압축된 텍스트는 원래 텍스트를 복원하는 과정에서 접미사배열을 0(n) 시간만에 구할 수 있다. 그러나 접미사배열을 이용하여 효율적인 검색을 수행하려면 lcp(longest common prefix)정보가 추가적으로 필요하다. 본 논문에서는 텍스트와 접미사배열이 주어졌을 때 lcp정보를 0(n) 시간만에 구할 수 있는 알고리즘을 제시한다.

  • PDF

Efficient storing of suffix arrays using block-sorting compression (블록정렬압축을 이용한 접미사배열의 효율적인 저장)

  • 이건호;박근수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.554-556
    • /
    • 2000
  • 블록정렬압축은 빠른 속도로 동작하면서 높은 압축률을 나타내는 압축 방법이다. 또한 블록정렬방식으로 압축된 텍스트는 원래 텍스트를 복원하는 과정에서 접미사배열을 O(n) 시간만에 구할 수 있다. 그러나 접미사배열을 이용하여 효율적인 검색을 수행하려면 lcp(longest common prefix)정보가 추가적으로 필요하다. 본 논문에서는 텍스트와 접미사배열이 주어졌을 때 lcp정보를 O(n)시간만에 구할 수 있는 알고리즘을 제시한다.

  • PDF

A Fast Algorithm for Constructing Suffix Arrays (써픽스 배열을 구축하는 빠른 알고리즘)

  • 조준하;박희진;김동규
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.736-738
    • /
    • 2004
  • 써픽스 배열은 정렬된 모든 써픽스들의 인덱스를 저장한 자료구조이며, 긴 문자열에서 임의의 패턴을 효율적으로 검색을 할 수 있는 자료구조이다. 비슷한 자료구조인 써픽스 트리에 비해 적은 공간을 사용하기 때문에 대용량의 텍스트에 대한 처리에 더 적합하다. 본 논문에서는 써픽스 배열을 빠르게 구축하는 방법을 제안하고, 써픽스 배열 구축 알고리즘들 중에서 빠르다고 알려진 Larsson and Sadakane 알고리즘, 대표적인 선형 시간 알고리즘인 Karkkainen and Sanders 알고리즘 및 최근에 발표된 고정길이 문자집합에 효율적인 Kim et al. 알고리즘과 성능을 비교한다. 실험 결과 본 논문에서 제안한 알고리즘이 전반적으로 빠르게 써픽스 배열을 구축하였다.

  • PDF

A Study of Path-based Retrieval for JSON Data Using Suffix Arrays (접미사 배열을 이용한 JSON 데이터의 경로 기반 검색에 대한 연구)

  • Kim, Sung Wan
    • Journal of Creative Information Culture
    • /
    • v.7 no.3
    • /
    • pp.157-165
    • /
    • 2021
  • As the use of various application services utilizing Web and IoT and the need for large amounts of data management expand accordingly, the importance of efficient data expression and exchange scheme and data query processing is increasing. JSON, characterized by its simplicity, is being used in various fields as a format for data exchange and data storage instead of XML, which is a standard data expression and exchange language on the Web. This means that it is important to develop indexing and query processing techniques to effectively access and search large amounts of data expressed in JSON. Therefore, in this paper, we modeled JSON data with a hierarchical structure in a tree form, and proposed indexing and query processing using the path concept. In particular, we designed an index structure using a suffix array widely used in text search and introduced simple and complex path-based JSON data query processing methods.

Performance Analysis of Construction Algorithms for Compressed Suffix Arrays (압축된 써픽스 배열 구축 알고리즘의 성능 분석)

  • Park Chi-Seong;Jo Jun-Ha;Sim Jeong-Seop;Kim Dong-Kyue
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06a
    • /
    • pp.409-411
    • /
    • 2006
  • 써픽스 배열은 사전적 순서로 정렬된 써픽스들의 인덱스를 저장한 인덱스 자료구조로서, 긴 텍스트에서 반복되는 패턴 검색 시 효율적으로 사용 될 수 있다. 하지만 O($n\;log{\Sigma}$) 비트의 텍스트보다 큰 O(n log n) 비트 공간을 차지하기 때문에 대용량의 텍스트에 대해서는 큰 공간을 필요로 하는 문제점이 있다. 이를 해결하기 위해 압축된 써픽스 배열이 제안되었지만, 구축 시 이미 만들어진 써픽스 배열을 이용하기 때문에 실제 사용 공간을 줄이지는 못했다. 최근 써픽스 배열 없이 텍스트에서 직접 압축된 써픽스 배열을 구축할 수 있는 두 가지 알고리즘이 개발되었다. 본 논문에서는 이 두 가지 알고리즘을 구현한 후, 구축 시간과 사용 공간 등의 실험을 통해 기존의 써픽스 배열들과의 성능을 비교하고 분석한다.

  • PDF

An Efficient Algorithm for Constructing Suffix Arrays for DNA String (DNA스트링에 효율적인 써픽스 배열 구축 알고리즘)

  • 조준하;박회진;김동규
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.961-963
    • /
    • 2004
  • 써픽스 배열은 텍스트의 써픽스들을 사전적 순서대로 저장하여 검색을 효율적으로 할 수 있는 자료구조이다. 생물학에서의 DNA 스트링과 같이 긴 텍스트에 대해 써픽스 배열을 이용하면 빠르게 검색할 수 있다. 써픽스 배열은 유사한 자료구조인 써픽스 트리에 비해 적은 공간을 차지하기 때문에 생물학에서 사용하는 긴 텍스트의 처리에 유리하다. 최근, 텍스트에서 바로 써픽스 배열을 선형시간에 구축하는 알고리즘들이 발표되었다. 그러나 이들 알고리즘은 정수 문자집합을 위한 알고리즘들이었다. 본 논문에서는 고정길이 문자집합에 대해 써픽스 배열을 빠르게 구축하는 알고리즘을 소개한다. 그리고 실험을 통해서 DNA 스트링과 같은 고정길이 문자집합에 대해서 다른 알고리즘들과 구축시간을 비교하여 속도 향상이 있음을 보인다.

  • PDF

Computing Longest Common Substrings by Using Suffix Arrays (써픽스 배열을 이용한 최장 공통 부분 스트링 계산)

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

  • PDF