{"id":"https://openalex.org/W2914615076","doi":"https://doi.org/10.1145/3297723","title":"Better External Memory LCP Array Construction","display_name":"Better External Memory LCP Array Construction","publication_year":2019,"publication_date":"2019-02-14","ids":{"openalex":"https://openalex.org/W2914615076","doi":"https://doi.org/10.1145/3297723","mag":"2914615076"},"language":"en","primary_location":{"id":"doi:10.1145/3297723","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3297723","pdf_url":null,"source":{"id":"https://openalex.org/S201104086","display_name":"ACM Journal of Experimental Algorithmics","issn_l":"1084-6654","issn":["1084-6654"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Journal of Experimental Algorithmics","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5018508280","display_name":"Juha K\u00e4rkk\u00e4inen","orcid":null},"institutions":[{"id":"https://openalex.org/I133731052","display_name":"University of Helsinki","ror":"https://ror.org/040af2s02","country_code":"FI","type":"education","lineage":["https://openalex.org/I133731052"]},{"id":"https://openalex.org/I32943570","display_name":"Helsinki Institute for Information Technology","ror":"https://ror.org/05kph4940","country_code":"FI","type":"facility","lineage":["https://openalex.org/I133731052","https://openalex.org/I32943570","https://openalex.org/I9927081"]}],"countries":["FI"],"is_corresponding":false,"raw_author_name":"Juha K\u00e4rkk\u00e4inen","raw_affiliation_strings":["Helsinki Institute for Information Technology and University of Helsinki, Helsinki, Finland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Helsinki Institute for Information Technology and University of Helsinki, Helsinki, Finland","institution_ids":["https://openalex.org/I32943570","https://openalex.org/I133731052"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5007292222","display_name":"Dominik Kempa","orcid":"https://orcid.org/0000-0003-2286-7417"},"institutions":[{"id":"https://openalex.org/I133731052","display_name":"University of Helsinki","ror":"https://ror.org/040af2s02","country_code":"FI","type":"education","lineage":["https://openalex.org/I133731052"]},{"id":"https://openalex.org/I32943570","display_name":"Helsinki Institute for Information Technology","ror":"https://ror.org/05kph4940","country_code":"FI","type":"facility","lineage":["https://openalex.org/I133731052","https://openalex.org/I32943570","https://openalex.org/I9927081"]}],"countries":["FI"],"is_corresponding":false,"raw_author_name":"Dominik Kempa","raw_affiliation_strings":["Helsinki Institute for Information Technology and University of Helsinki, Helsinki, Finland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Helsinki Institute for Information Technology and University of Helsinki, Helsinki, Finland","institution_ids":["https://openalex.org/I32943570","https://openalex.org/I133731052"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.2892,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.64666335,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"24","issue":null,"first_page":"1","last_page":"27"},"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/T12326","display_name":"Network Packet Processing and Optimization","score":0.9969000220298767,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.9805999994277954,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/suffix-array","display_name":"Suffix array","score":0.9667236804962158},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8011277914047241},{"id":"https://openalex.org/keywords/compressed-suffix-array","display_name":"Compressed suffix array","score":0.6848772764205933},{"id":"https://openalex.org/keywords/generalized-suffix-tree","display_name":"Generalized suffix tree","score":0.6772812008857727},{"id":"https://openalex.org/keywords/bottleneck","display_name":"Bottleneck","score":0.5633052587509155},{"id":"https://openalex.org/keywords/byte","display_name":"Byte","score":0.5612438917160034},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5479670166969299},{"id":"https://openalex.org/keywords/string","display_name":"String (physics)","score":0.5390464663505554},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.5241361260414124},{"id":"https://openalex.org/keywords/auxiliary-memory","display_name":"Auxiliary memory","score":0.4960564076900482},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4707430303096771},{"id":"https://openalex.org/keywords/suffix","display_name":"Suffix","score":0.4669509828090668},{"id":"https://openalex.org/keywords/sparse-array","display_name":"Sparse array","score":0.4212579131126404},{"id":"https://openalex.org/keywords/array-data-structure","display_name":"Array data structure","score":0.42015600204467773},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.38738951086997986},{"id":"https://openalex.org/keywords/string-searching-algorithm","display_name":"String searching algorithm","score":0.3662160336971283},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.14066362380981445},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.11400234699249268}],"concepts":[{"id":"https://openalex.org/C2779259728","wikidata":"https://www.wikidata.org/wiki/Q281472","display_name":"Suffix array","level":3,"score":0.9667236804962158},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8011277914047241},{"id":"https://openalex.org/C100903775","wikidata":"https://www.wikidata.org/wiki/Q5157028","display_name":"Compressed suffix array","level":4,"score":0.6848772764205933},{"id":"https://openalex.org/C118146561","wikidata":"https://www.wikidata.org/wiki/Q5532514","display_name":"Generalized suffix tree","level":4,"score":0.6772812008857727},{"id":"https://openalex.org/C2780513914","wikidata":"https://www.wikidata.org/wiki/Q18210350","display_name":"Bottleneck","level":2,"score":0.5633052587509155},{"id":"https://openalex.org/C43364308","wikidata":"https://www.wikidata.org/wiki/Q8799","display_name":"Byte","level":2,"score":0.5612438917160034},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5479670166969299},{"id":"https://openalex.org/C157486923","wikidata":"https://www.wikidata.org/wiki/Q1376436","display_name":"String (physics)","level":2,"score":0.5390464663505554},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.5241361260414124},{"id":"https://openalex.org/C82687282","wikidata":"https://www.wikidata.org/wiki/Q66221","display_name":"Auxiliary memory","level":2,"score":0.4960564076900482},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4707430303096771},{"id":"https://openalex.org/C2779804580","wikidata":"https://www.wikidata.org/wiki/Q102047","display_name":"Suffix","level":2,"score":0.4669509828090668},{"id":"https://openalex.org/C145177509","wikidata":"https://www.wikidata.org/wiki/Q1050404","display_name":"Sparse array","level":2,"score":0.4212579131126404},{"id":"https://openalex.org/C146064661","wikidata":"https://www.wikidata.org/wiki/Q186152","display_name":"Array data structure","level":2,"score":0.42015600204467773},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.38738951086997986},{"id":"https://openalex.org/C7757238","wikidata":"https://www.wikidata.org/wiki/Q374040","display_name":"String searching algorithm","level":3,"score":0.3662160336971283},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.14066362380981445},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.11400234699249268},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","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/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","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":1,"locations":[{"id":"doi:10.1145/3297723","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3297723","pdf_url":null,"source":{"id":"https://openalex.org/S201104086","display_name":"ACM Journal of Experimental Algorithmics","issn_l":"1084-6654","issn":["1084-6654"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Journal of Experimental Algorithmics","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education","score":0.6700000166893005}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1509727978","https://openalex.org/W1573714593","https://openalex.org/W1812430439","https://openalex.org/W1929174210","https://openalex.org/W2042175004","https://openalex.org/W2044824397","https://openalex.org/W2051246034","https://openalex.org/W2072731885","https://openalex.org/W2077333702","https://openalex.org/W2087361130","https://openalex.org/W2088386938","https://openalex.org/W2125075457","https://openalex.org/W2134283755","https://openalex.org/W2141496499","https://openalex.org/W2150957098","https://openalex.org/W2158874082","https://openalex.org/W2167406488","https://openalex.org/W2316621983","https://openalex.org/W2406547600","https://openalex.org/W2407929722","https://openalex.org/W2561675875","https://openalex.org/W2666787582","https://openalex.org/W2995414748","https://openalex.org/W3098364857","https://openalex.org/W4244850198","https://openalex.org/W4292081093","https://openalex.org/W4389615622"],"related_works":["https://openalex.org/W2067974452","https://openalex.org/W4385595111","https://openalex.org/W2003608043","https://openalex.org/W2576782855","https://openalex.org/W2405149725","https://openalex.org/W2118703123","https://openalex.org/W1518230444","https://openalex.org/W2167406488","https://openalex.org/W1630495895","https://openalex.org/W2666787582"],"abstract_inverted_index":{"The":[0],"suffix":[1,54,134],"array,":[2],"perhaps":[3],"the":[4,18,34,49,53,62,73,81,95,112,120,125,130,141,147,150,167],"most":[5],"important":[6],"data":[7,35],"structure":[8],"in":[9,22,56,88],"modern":[10],"string":[11],"processing,":[12],"needs":[13],"to":[14,99],"be":[15],"augmented":[16],"with":[17],"longest-common-prefix":[19],"(LCP)":[20],"array":[21,51,55],"many":[23],"applications.":[24],"Their":[25],"construction":[26],"is":[27,36,108,136],"often":[28],"a":[29,67,100],"major":[30],"bottleneck,":[31],"especially":[32],"when":[33],"too":[37],"big":[38],"for":[39,47,110,160],"internal":[40],"memory.":[41,58],"We":[42,77],"describe":[43],"two":[44,70,82,103],"new":[45,63,83],"algorithms":[46,64,84,96,113,126],"computing":[48],"LCP":[50,154],"from":[52],"external":[57],"Experiments":[59],"demonstrate":[60],"that":[61],"are":[65],"about":[66],"factor":[68,101],"of":[69,102,124,149],"faster":[71],"than":[72],"fastest":[74],"previous":[75,164],"algorithm.":[76],"then":[78],"further":[79],"engineer":[80],"and":[85,133,140],"improve":[86],"them":[87,128],"three":[89],"ways.":[90],"First,":[91],"we":[92,118,157],"speed":[93],"up":[94,98],"by":[97],"through":[104],"parallelism.":[105],"Eight":[106],"threads":[107],"sufficient":[109],"making":[111,127],"essentially":[114],"I/O":[115],"bound.":[116],"Second,":[117],"reduce":[119],"disk":[121,143],"space":[122,144],"usage":[123],"in-place:":[129],"input":[131],"(text":[132],"array)":[135],"treated":[137],"as":[138],"read-only,":[139],"working":[142],"never":[145],"exceeds":[146],"size":[148],"final":[151],"output":[152],"(the":[153],"array).":[155],"Third,":[156],"add":[158],"support":[159],"large":[161],"alphabets.":[162],"All":[163],"implementations":[165],"assume":[166],"byte":[168],"alphabet.":[169]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
