{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,11]],"date-time":"2025-11-11T15:33:15Z","timestamp":1762875195811,"version":"3.41.0"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","license":[{"start":{"date-parts":[[2008,6,1]],"date-time":"2008-06-01T00:00:00Z","timestamp":1212278400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["ACM J. Exp. Algorithmics"],"published-print":{"date-parts":[[2008,6]]},"abstract":"<jats:p>\n            Suffix arrays are a simple and powerful data structure for text processing that can be used for full text indexes, data compression, and many other applications, in particular, in bioinformatics. However, so far, it has appeared prohibitive to build suffix arrays for huge inputs that do not fit into main memory. This paper presents design, analysis, implementation, and experimental evaluation of several new and improved algorithms for suffix array construction. The algorithms are asymptotically optimal in the worst case or on average. Our implementation can construct suffix arrays for inputs of up to 4-GB in hours on a low-cost machine. As a tool of possible independent interest, we present a systematic way to design, analyze, and implement\n            <jats:italic>pipelined<\/jats:italic>\n            algorithms.\n          <\/jats:p>","DOI":"10.1145\/1227161.1402296","type":"journal-article","created":{"date-parts":[[2008,10,7]],"date-time":"2008-10-07T12:48:29Z","timestamp":1223383709000},"page":"1-24","source":"Crossref","is-referenced-by-count":56,"title":["Better external memory suffix array construction"],"prefix":"10.1145","volume":"12","author":[{"given":"Roman","family":"Dementiev","sequence":"first","affiliation":[{"name":"Universit\u00e4t Karlsruhe, Karlsruhe, Germany"}]},{"given":"Juha","family":"K\u00e4rkk\u00e4inen","sequence":"additional","affiliation":[{"name":"University of Helsinki, Finland"}]},{"given":"Jens","family":"Mehnert","sequence":"additional","affiliation":[{"name":"Max-Planck-Institut f\u00fcr Informatik, Saarbr\u00fccken, Germany"}]},{"given":"Peter","family":"Sanders","sequence":"additional","affiliation":[{"name":"Universit\u00e4t Karlsruhe, Karlsruhe, Germany"}]}],"member":"320","published-online":{"date-parts":[[2008,8,29]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/645907.673271"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/48529.48535"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/258533.258647"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/647912.740668"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/1756553.1756558"},{"key":"e_1_2_1_6_1","volume-title":"Technical Report 124, SRC (digital, Palo Alto) (May).","author":"Burrows M.","year":"1994","unstructured":"Burrows, M. and Wheeler, D. J. 1994. A block-sorting lossless data compression algorithm. Technical Report 124, SRC (digital, Palo Alto) (May)."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/647909.740304"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00453-001-0051-5"},{"key":"e_1_2_1_9_1","unstructured":"Crauser A. and Mehlhorn K. 1998. LEDA-SM a platform for secondary memory computations. Tech. rep. MPII. draft."},{"key":"e_1_2_1_10_1","unstructured":"Dementiev R. 2005. The Stxxl library. Documentation and download at http:\/\/stxxl.sourceforge.net."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/777412.777435"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/11561071_57"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/355541.355547"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","unstructured":"Gonnet G. Baeza-Yates R. and Snider T. 1992. New indices for text: PAT trees and PAT arrays. In Information Retrieval: Data Structures & Algorithms W. B. Frakes and R. Baeza-Yates Eds. Prentice-Hall Englewood Cliffs NJ.","DOI":"10.5555\/129687.129692"},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Gropp W. Lusk R. and Thakur R. 1998. Latest Advances in MPI-2. Tutorial on EuroPVM\/MPI'98.","DOI":"10.7551\/mitpress\/7055.001.0001"},{"key":"e_1_2_1_16_1","article-title":"Minimum sum and difference covers of Abelian groups","volume":"7","author":"Haanp\u00e4\u00e4 H.","year":"2004","unstructured":"Haanp\u00e4\u00e4, H. 2004. Minimum sum and difference covers of Abelian groups. Journal of Integer Sequences 7, 2, article 04.1.8.","journal-title":"Journal of Integer Sequences"},{"key":"e_1_2_1_17_1","volume-title":"Proc. 14th International Symposium on Algorithms and Computation. LNCS","volume":"2906","author":"Hon W.-K.","unstructured":"Hon, W.-K., Lam, T.-W., Sadakane, K., and Sung, W.-K. 2003a. Constructing compressed suffix-arrays with large alphabets. In Proc. 14th International Symposium on Algorithms and Computation. LNCS, vol. 2906. Springer, New York. 240--249."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/946243.946310"},{"key":"e_1_2_1_19_1","volume-title":"LNCS","volume":"2625","author":"K\u00e4rkk\u00e4inen J.","year":"2003","unstructured":"K\u00e4rkk\u00e4inen, J. 2003. Algorithms for Memory Hierarchies. LNCS, vol. 2625, Chapter Full-Text Indexes in External Memory. Springer, New York. 171--192."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217856.1217858"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/1756553.1756567"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/1756553.1756568"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","unstructured":"Kulla F. and Sanders P. 2006. Scalable parallel suffix array construction. In EuroPVM\/MPI. to appear. 10.1007\/11846802_12","DOI":"10.1007\/11846802_12"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/646720.702409"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1137\/0222058"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.5555\/647912.740829"},{"key":"e_1_2_1_27_1","first-page":"175","article-title":"Indexing huge genome sequences for solving various problems","volume":"12","author":"Sadakane K.","year":"2001","unstructured":"Sadakane, K. and Shibuya, T. 2001. Indexing huge genome sequences for solving various problems. Genome Informatics 12, 175--183.","journal-title":"Genome Informatics"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","unstructured":"Silberschatz A. Korth H. F. and Sudarshan S. 2001. Database System Concepts 4th ed. McGraw-Hill New York.","DOI":"10.5555\/551244"},{"key":"e_1_2_1_29_1","volume-title":"I: Two level memories. Algorithmica 12, 2\/3, 110--147.","author":"Vitter J. S.","year":"1994","unstructured":"Vitter, J. S. and Shriver, E. A. M. 1994. Algorithms for parallel memory, I: Two level memories. Algorithmica 12, 2\/3, 110--147."}],"container-title":["ACM Journal of Experimental Algorithmics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1227161.1402296","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1227161.1402296","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:22:37Z","timestamp":1750278157000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1227161.1402296"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,6]]},"references-count":29,"alternative-id":["10.1145\/1227161.1402296"],"URL":"https:\/\/doi.org\/10.1145\/1227161.1402296","relation":{},"ISSN":["1084-6654","1084-6654"],"issn-type":[{"type":"print","value":"1084-6654"},{"type":"electronic","value":"1084-6654"}],"subject":[],"published":{"date-parts":[[2008,6]]}}}