著者
伊東 秀夫
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告自然言語処理(NL)
巻号頁・発行日
vol.1999, no.2, pp.27-34, 1999-01-20

Suffix arrayは文字列索引の一種であり、suffix treeに比べ単純でコンパクトなデータ構造で実装できる。文字列処理に対して多くの優れた性質を持つsuffix arrayだが、特に大規模なテキストに対しては索引構築に多大な記憶量と計算コストを必要とし実用上の問題なっている。我々は、高速かつコンパクトなsuffix array構築法を提案する。そのキーとなるアイデアは、任意のsuffix間の関係ではなく、隣接するsuffix間の関係のみを利用する点にある。このアルゴリズムを二段階ソート法と呼ぶ。514MBの毎日新聞記事を含む様々なデータセットを用いた評価実験により、我々のアルゴリズムはQuicksortの4.5?6.9倍高速であり、また、今までで最も高速なアルゴリズムとして知られているSadakaneの方法に対し2.5?3.6倍高速であることが示される。The Suffix array is a string indexing structure and a memory efficient alternative of the Suffix tree. It has myriad virtues on string processing. However, it requires large memory and computation to build suffix arrays for large texts. We propose an efficient algorithm for sorting suffixes. One of the key ideas is to use specific relationships between an adjacent suffix pair. We call this algorithm the Two-Stage Suffix Sort. Our experiments on several text data sets (including 514MB japanese newspapers) demonstrate that our algorithm is 4.5 to 6.9 times faster than the popular sorting algorithm Quicksort, and 2.5 to 3.6 times faster than Sadakane's algorithms which is known as the fastest one.

言及状況

はてなブックマーク (1 users, 1 posts)

[algorithm][suffixarray]

収集済み URL リスト