Dynamic extended suffix arrays

被引:18
|
作者
Salson, M. [1 ]
Lecroq, T. [1 ]
Leonard, M. [1 ]
Mouchard, L. [1 ,2 ]
机构
[1] Univ Rouen, LITIS EA 4108, F-76821 Mont St Aignan, France
[2] Kings Coll London, Dept Comp Sci, Algorithm Grp Design, London WC2R 2LS, England
关键词
Dynamic; Suffix array; Edit operations; Algorithm design; Self-index data structures; FM-index;
D O I
10.1016/j.jda.2009.02.007
中图分类号
O29 [应用数学];
学科分类号
070104 ;
摘要
The suffix tree data structure has been intensively described, studied and used in the eighties and nineties, its linear-time construction counterbalancing his space-consuming requirements. An equivalent data structure, the suffix array, has been described by Manber and Myers in 1990. This space-economical structure has been neglected during more than a decade, its construction being too slow. Since 2003, several linear-time suffix array construction algorithms have been proposed, and this structure has slowly replaced the suffix tree in many string processing problems. All these constructions are building the suffix array from the text, and any edit operation on the text leads to the construction of a brand new suffix array. In this article, we are presenting an algorithm that modifies the suffix array and the Longest Common Prefix (LCP) array when the text is edited (insertion, substitution or deletion of a letter or a factor). This algorithm is based on a recent four-stage algorithm developed for dynamic Burrows-Wheeler Transforms (BWT). For minimizing the space complexity, we are sampling the Suffix Array, a technique used in BWT-based compressed indexes. We furthermore explain how this technique can be adapted for maintaining a sample of the Extended Suffix Array, containing a sample of the Suffix Array, a sample of the Inverse Suffix Array and the whole LCP array. Our practical experiments show that it operates very well in practice, being quicker than the fastest suffix array construction algorithm. (C) 2009 Published by Elsevier B.V.
引用
收藏
页码:241 / 257
页数:17
相关论文
共 50 条
  • [1] Dynamic Generalized Suffix Arrays
    Lu, Songfeng
    Zhao, Hua
    [J]. INFORMATION TECHNOLOGY APPLICATIONS IN INDUSTRY, PTS 1-4, 2013, 263-266 : 1398 - 1401
  • [2] Improved and extended locating functionality on compressed suffix arrays
    Gog, Simon
    Navarro, Gonzalo
    Petri, Matthias
    [J]. JOURNAL OF DISCRETE ALGORITHMS, 2015, 32 : 53 - 63
  • [3] Improved and Extended Locating Functionality on Compressed Suffix Arrays
    Gog, Simon
    Navarro, Gonzalo
    [J]. EXPERIMENTAL ALGORITHMS, SEA 2014, 2014, 8504 : 436 - 447
  • [4] A quick tour on suffix arrays and compressed suffix arrays
    Grossi, Roberto
    [J]. THEORETICAL COMPUTER SCIENCE, 2011, 412 (27) : 2964 - 2973
  • [5] Suffix arrays
    Bentley, J
    [J]. DR DOBBS JOURNAL, 2001, 26 (04): : 145 - 147
  • [6] Linear-time construction of suffix-arrays - (Extended abstract)
    Kim, DK
    Sim, JS
    Park, H
    Park, K
    [J]. COMBINATORIAL PATTERN MATCHING, PROCEEDINGS, 2003, 2676 : 186 - 199
  • [7] Computing suffix links for suffix trees and arrays
    Maass, Moritz G.
    [J]. INFORMATION PROCESSING LETTERS, 2007, 101 (06) : 250 - 254
  • [8] Suffix arrays on words
    Ferragina, Paolo
    Fischer, Johannes
    [J]. COMBINATORIAL PATTERN MATCHING, PROCEEDINGS, 2007, 4580 : 328 - +
  • [9] SUFFIX ARRAYS WITH A TWIST
    Kowalski, Tomasz M.
    Grabowski, Szymon
    Fredriksson, Kimmo
    [J]. COMPUTING AND INFORMATICS, 2019, 38 (03) : 555 - 574
  • [10] Suffix arrays in parallel
    Marín, M
    Navarro, G
    [J]. EURO-PAR 2003 PARALLEL PROCESSING, PROCEEDINGS, 2003, 2790 : 338 - 341