{"id":"https://openalex.org/W2109062349","doi":"https://doi.org/10.1007/s00453-004-1094-1","title":"Engineering a Lightweight Suffix Array Construction Algorithm","display_name":"Engineering a Lightweight Suffix Array Construction Algorithm","publication_year":2004,"publication_date":"2004-04-26","ids":{"openalex":"https://openalex.org/W2109062349","doi":"https://doi.org/10.1007/s00453-004-1094-1","mag":"2109062349"},"language":"en","primary_location":{"id":"doi:10.1007/s00453-004-1094-1","is_oa":false,"landing_page_url":"https://doi.org/10.1007/s00453-004-1094-1","pdf_url":null,"source":{"id":"https://openalex.org/S89324355","display_name":"Algorithmica","issn_l":"0178-4617","issn":["0178-4617","1432-0541"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Algorithmica","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"http://puma.isti.cnr.it/dfdownloadnew.php?ident=cnr.iit/cnr.iit/2002-TR-05","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5049381844","display_name":"Giovanni Manzini","orcid":"https://orcid.org/0000-0002-5047-0196"},"institutions":[{"id":"https://openalex.org/I4210130157","display_name":"Institute of Informatics and Telematics","ror":"https://ror.org/02gdcn153","country_code":"IT","type":"facility","lineage":["https://openalex.org/I4210130157","https://openalex.org/I4210155236"]},{"id":"https://openalex.org/I123338534","display_name":"Universit\u00e0 degli Studi del Piemonte Orientale \u201cAmedeo Avogadro\u201d","ror":"https://ror.org/04387x656","country_code":"IT","type":"education","lineage":["https://openalex.org/I123338534"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"Giovanni Manzini","raw_affiliation_strings":["Dipartimento di Informatica, Universit\u00e0 del\nPiemonte Orientale, Alessandria, Italy, and IIT-CNR, Pisa, Italy","Dipartimento di Informatica, Universit\u00e0 del Piemonte Orientale, Alessandria, Italy, and IIT-CNR, Pisa, Italy"],"affiliations":[{"raw_affiliation_string":"Dipartimento di Informatica, Universit\u00e0 del\nPiemonte Orientale, Alessandria, Italy, and IIT-CNR, Pisa, Italy","institution_ids":["https://openalex.org/I123338534","https://openalex.org/I4210130157"]},{"raw_affiliation_string":"Dipartimento di Informatica, Universit\u00e0 del Piemonte Orientale, Alessandria, Italy, and IIT-CNR, Pisa, Italy","institution_ids":["https://openalex.org/I123338534"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5046786328","display_name":"Paolo Ferragina","orcid":"https://orcid.org/0000-0003-1353-360X"},"institutions":[{"id":"https://openalex.org/I108290504","display_name":"University of Pisa","ror":"https://ror.org/03ad39j10","country_code":"IT","type":"education","lineage":["https://openalex.org/I108290504"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Paolo Ferragina","raw_affiliation_strings":["Dipartimento di Informatica, Universit\u00e0 di Pisa, Pisa, Italy","Dipartimento di Inform\u00e1tica, Universit\u00e1 di Pisa, Pisa, Italy"],"affiliations":[{"raw_affiliation_string":"Dipartimento di Informatica, Universit\u00e0 di Pisa, Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]},{"raw_affiliation_string":"Dipartimento di Inform\u00e1tica, Universit\u00e1 di Pisa, Pisa, Italy","institution_ids":["https://openalex.org/I108290504"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5049381844"],"corresponding_institution_ids":["https://openalex.org/I123338534","https://openalex.org/I4210130157"],"apc_list":{"value":2290,"currency":"EUR","value_usd":2890},"apc_paid":{"value":2290,"currency":"EUR","value_usd":2890},"fwci":16.6511,"has_fulltext":false,"cited_by_count":164,"citation_normalized_percentile":{"value":0.99113193,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":"40","issue":"1","first_page":"33","last_page":"50"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10181","display_name":"Natural Language Processing Techniques","score":0.9757999777793884,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10015","display_name":"Genomics and Phylogenetic Studies","score":0.9753999710083008,"subfield":{"id":"https://openalex.org/subfields/1312","display_name":"Molecular Biology"},"field":{"id":"https://openalex.org/fields/13","display_name":"Biochemistry, Genetics and Molecular Biology"},"domain":{"id":"https://openalex.org/domains/1","display_name":"Life Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/suffix-array","display_name":"Suffix array","score":0.9533048272132874},{"id":"https://openalex.org/keywords/substring","display_name":"Substring","score":0.8988261222839355},{"id":"https://openalex.org/keywords/compressed-suffix-array","display_name":"Compressed suffix array","score":0.8271658420562744},{"id":"https://openalex.org/keywords/suffix","display_name":"Suffix","score":0.7200232744216919},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.7188301682472229},{"id":"https://openalex.org/keywords/generalized-suffix-tree","display_name":"Generalized suffix tree","score":0.718501627445221},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.70954829454422},{"id":"https://openalex.org/keywords/lexicographical-order","display_name":"Lexicographical order","score":0.7059177160263062},{"id":"https://openalex.org/keywords/string","display_name":"String (physics)","score":0.695911705493927},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.6438037753105164},{"id":"https://openalex.org/keywords/prefix","display_name":"Prefix","score":0.5867111086845398},{"id":"https://openalex.org/keywords/sorting-algorithm","display_name":"Sorting algorithm","score":0.5420239567756653},{"id":"https://openalex.org/keywords/trie","display_name":"Trie","score":0.5293158888816833},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.4987316131591797},{"id":"https://openalex.org/keywords/suffix-tree","display_name":"Suffix tree","score":0.45446932315826416},{"id":"https://openalex.org/keywords/theory-of-computation","display_name":"Theory of computation","score":0.44947758316993713},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.43227776885032654},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.37393322587013245},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2585583031177521},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.14488351345062256},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.11850666999816895}],"concepts":[{"id":"https://openalex.org/C2779259728","wikidata":"https://www.wikidata.org/wiki/Q281472","display_name":"Suffix array","level":3,"score":0.9533048272132874},{"id":"https://openalex.org/C182407805","wikidata":"https://www.wikidata.org/wiki/Q2626534","display_name":"Substring","level":3,"score":0.8988261222839355},{"id":"https://openalex.org/C100903775","wikidata":"https://www.wikidata.org/wiki/Q5157028","display_name":"Compressed suffix array","level":4,"score":0.8271658420562744},{"id":"https://openalex.org/C2779804580","wikidata":"https://www.wikidata.org/wiki/Q102047","display_name":"Suffix","level":2,"score":0.7200232744216919},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.7188301682472229},{"id":"https://openalex.org/C118146561","wikidata":"https://www.wikidata.org/wiki/Q5532514","display_name":"Generalized suffix tree","level":4,"score":0.718501627445221},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.70954829454422},{"id":"https://openalex.org/C159254197","wikidata":"https://www.wikidata.org/wiki/Q1144915","display_name":"Lexicographical order","level":2,"score":0.7059177160263062},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.695911705493927},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.6438037753105164},{"id":"https://openalex.org/C141603448","wikidata":"https://www.wikidata.org/wiki/Q134830","display_name":"Prefix","level":2,"score":0.5867111086845398},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.5420239567756653},{"id":"https://openalex.org/C190290938","wikidata":"https://www.wikidata.org/wiki/Q387015","display_name":"Trie","level":3,"score":0.5293158888816833},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.4987316131591797},{"id":"https://openalex.org/C2781166958","wikidata":"https://www.wikidata.org/wiki/Q1426863","display_name":"Suffix tree","level":3,"score":0.45446932315826416},{"id":"https://openalex.org/C24858836","wikidata":"https://www.wikidata.org/wiki/Q844718","display_name":"Theory of computation","level":2,"score":0.44947758316993713},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.43227776885032654},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.37393322587013245},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2585583031177521},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.14488351345062256},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.11850666999816895},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C37914503","wikidata":"https://www.wikidata.org/wiki/Q156495","display_name":"Mathematical physics","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1007/s00453-004-1094-1","is_oa":false,"landing_page_url":"https://doi.org/10.1007/s00453-004-1094-1","pdf_url":null,"source":{"id":"https://openalex.org/S89324355","display_name":"Algorithmica","issn_l":"0178-4617","issn":["0178-4617","1432-0541"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Algorithmica","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.385.5959","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.385.5959","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://people.unipmn.it/manzini/papers/Algorithmica04.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.76.6718","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.76.6718","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.mfn.unipmn.it/~manzini/papers/esa02.pdf","raw_type":"text"},{"id":"pmh:oai:arpi.unipi.it:11568/83691","is_oa":false,"landing_page_url":"http://link.springer.com/article/10.1007%2Fs00453-004-1094-1","pdf_url":null,"source":{"id":"https://openalex.org/S4377196265","display_name":"CINECA IRIS Institutial research information system (University of Pisa)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I108290504","host_organization_name":"University of Pisa","host_organization_lineage":["https://openalex.org/I108290504"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/article"},{"id":"pmh:oai:pumaoai.isti.cnr.it:cnr.iit/cnr.iit/2002-TR-05","is_oa":true,"landing_page_url":"http://puma.isti.cnr.it/dfdownloadnew.php?ident=cnr.iit/cnr.iit/2002-TR-05","pdf_url":null,"source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Technical report, 2002.","raw_type":"info:eu-repo/semantics/report"}],"best_oa_location":{"id":"pmh:oai:pumaoai.isti.cnr.it:cnr.iit/cnr.iit/2002-TR-05","is_oa":true,"landing_page_url":"http://puma.isti.cnr.it/dfdownloadnew.php?ident=cnr.iit/cnr.iit/2002-TR-05","pdf_url":null,"source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Technical report, 2002.","raw_type":"info:eu-repo/semantics/report"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W117230746","https://openalex.org/W938539187","https://openalex.org/W1492127831","https://openalex.org/W1495956867","https://openalex.org/W1505606212","https://openalex.org/W1573714593","https://openalex.org/W1603784832","https://openalex.org/W1863047657","https://openalex.org/W1875619160","https://openalex.org/W1965853364","https://openalex.org/W1990061958","https://openalex.org/W2000484009","https://openalex.org/W2013697960","https://openalex.org/W2024147613","https://openalex.org/W2030962049","https://openalex.org/W2056707490","https://openalex.org/W2087721273","https://openalex.org/W2111217142","https://openalex.org/W2121996546","https://openalex.org/W2130564474","https://openalex.org/W2134696992","https://openalex.org/W2149468555","https://openalex.org/W2152486057","https://openalex.org/W2157718155","https://openalex.org/W2158322625","https://openalex.org/W2158874082","https://openalex.org/W2161488606","https://openalex.org/W2289119746","https://openalex.org/W2434820933","https://openalex.org/W2611477341"],"related_works":["https://openalex.org/W2063841356","https://openalex.org/W2405149725","https://openalex.org/W2003608043","https://openalex.org/W1593730394","https://openalex.org/W1568850903","https://openalex.org/W75168880","https://openalex.org/W2485439294","https://openalex.org/W2736693933","https://openalex.org/W4379644220","https://openalex.org/W2560606564"],"abstract_inverted_index":{"In":[0],"this":[1,103,144],"paper":[2],"we":[3,44],"describe":[4],"a":[5,14,38,46,53,58,65,80,168,172],"new":[6,39],"algorithm":[7,34,97,106,134],"for":[8,49,61,73],"building":[9,74],"the":[10,21,27,30,50,62,70,75,89,110,121,125,130,139,178],"suffix":[11,76,126],"array":[12,77,127],"of":[13,23,29,83,153,162],"string.":[15,32],"This":[16],"task":[17],"is":[18,35,107,135,175],"equivalent":[19],"to":[20,101,120,156],"problem":[22],"lexicographically":[24],"sorting":[25],"all":[26],"suffixes":[28,51,63],"input":[31,90,140],"Our":[33,96,105],"based":[36],"on":[37],"approach":[40],"called":[41],"deep\u2013shallow":[42],"sorting:":[43],"use":[45],"\u201cshallow\u201d":[47],"sorter":[48,60],"with":[52,64,151],"short":[54],"common":[55,67],"prefix,":[56],"and":[57],"\u201cdeep\u201d":[59],"long":[66],"prefix.":[68],"All":[69],"known":[71],"algorithms":[72],"either":[78],"require":[79],"large":[81],"amount":[82],"space":[84,117,122],"or":[85],"are":[86],"inefficient":[87],"when":[88,138],"string":[91],"contains":[92,141],"many":[93,142],"repeated":[94],"substrings.":[95],"has":[98,145],"been":[99,146],"designed":[100],"overcome":[102],"dichotomy.":[104],"\u201clightweight\u201d":[108],"in":[109,118],"sense":[111],"that":[112],"it":[113],"uses":[114],"very":[115],"small":[116],"addition":[119],"required":[123],"by":[124,148],"itself.":[128],"At":[129],"same":[131],"time":[132],"our":[133,163],"fast":[136],"even":[137],"repetitions:":[143],"shown":[147],"extensive":[149],"experiments":[150],"inputs":[152],"size":[154],"up":[155],"110":[157],"Mb.":[158],"The":[159],"source":[160],"code":[161],"algorithm,":[164],"as":[165,167],"well":[166],"C":[169],"library":[170],"providing":[171],"simple":[173],"API,":[174],"available":[176],"under":[177],"GNU":[179],"GPL.":[180]},"counts_by_year":[{"year":2023,"cited_by_count":4},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":11},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":12},{"year":2013,"cited_by_count":13},{"year":2012,"cited_by_count":8}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
