{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,15]],"date-time":"2026-05-15T05:29:41Z","timestamp":1778822981023,"version":"3.51.4"},"reference-count":24,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2016,4,25]],"date-time":"2016-04-25T00:00:00Z","timestamp":1461542400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Danish Council for Independent Research \u2223 Natural Sciences, the Danish Research Council","award":["DFF4005-00267, DFF 1323-00178"],"award-info":[{"award-number":["DFF4005-00267, DFF 1323-00178"]}]},{"name":"Advanced Technology Foundation"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Algorithms"],"published-print":{"date-parts":[[2016,6,15]]},"abstract":"<jats:p>\n            In this work, we present efficient algorithms for constructing sparse suffix trees, sparse suffix arrays, and sparse position heaps for\n            <jats:italic>b<\/jats:italic>\n            arbitrary positions of a text\n            <jats:italic>T<\/jats:italic>\n            of length\n            <jats:italic>n<\/jats:italic>\n            while using only\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>b<\/jats:italic>\n            ) words of space during the construction.\n          <\/jats:p>\n          <jats:p>\n            Attempts at breaking the na\u00efve bound of \u03a9(\n            <jats:italic>nb<\/jats:italic>\n            ) time for constructing sparse suffix trees in\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>b<\/jats:italic>\n            ) space can be traced back to the origins of string indexing in 1968. First results were not obtained until 1996, but only for the case in which the\n            <jats:italic>b<\/jats:italic>\n            suffixes were evenly spaced in\n            <jats:italic>T<\/jats:italic>\n            . In this article, there is no constraint on the locations of the suffixes.\n          <\/jats:p>\n          <jats:p>\n            Our main contribution is to show that the sparse suffix tree (and array) can be constructed in\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>n<\/jats:italic>\n            log\n            <jats:sup>2<\/jats:sup>\n            <jats:italic>b<\/jats:italic>\n            ) time. To achieve this, we develop a technique that allows one to efficiently answer\n            <jats:italic>b<\/jats:italic>\n            longest common prefix queries on suffixes of\n            <jats:italic>T<\/jats:italic>\n            , using only\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>b<\/jats:italic>\n            ) space. We expect that this technique will prove useful in many other applications in which space usage is a concern. Our first solution is Monte Carlo, and outputs the correct tree with high probability. We then give a Las Vegas algorithm, which also uses\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>b<\/jats:italic>\n            ) space and runs in the same time bounds with high probability when\n            <jats:italic>b<\/jats:italic>\n            =\n            <jats:italic>O<\/jats:italic>\n            (\u221a n). Additional trade-offs between space usage and construction time for the Monte Carlo algorithm are given.\n          <\/jats:p>\n          <jats:p>\n            Finally, we show that, at the expense of slower pattern queries, it is possible to construct sparse position heaps in\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>n<\/jats:italic>\n            +\n            <jats:italic>b<\/jats:italic>\n            log\n            <jats:italic>b<\/jats:italic>\n            ) time and\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>b<\/jats:italic>\n            ) space.\n          <\/jats:p>","DOI":"10.1145\/2836166","type":"journal-article","created":{"date-parts":[[2016,4,25]],"date-time":"2016-04-25T19:51:13Z","timestamp":1461613873000},"page":"1-19","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Sparse Text Indexing in Small Space"],"prefix":"10.1145","volume":"12","author":[{"given":"Philip","family":"Bille","sequence":"first","affiliation":[{"name":"Technical University of Denmark, DTU Compute, Lyngby, Denmark"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Johannes","family":"Fischer","sequence":"additional","affiliation":[{"name":"TU Dortmund, Department of Computer Science"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Inge Li","family":"G\u00f8rtz","sequence":"additional","affiliation":[{"name":"Technical University of Denmark, DTU Compute, Lyngby, Denmark"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tsvi","family":"Kopelowitz","sequence":"additional","affiliation":[{"name":"Weizmann Institute of Science, Faculty of Mathematics and Computer Science, Rehovot, Israel"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Benjamin","family":"Sach","sequence":"additional","affiliation":[{"name":"University of Bristol, Department of Computer Science, Merchant Venturer's Building, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hjalte Wedel","family":"Vildh\u00f8j","sequence":"additional","affiliation":[{"name":"Technical University of Denmark, DTU Compute, Lyngby, Denmark"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,4,25]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/800061.808726"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/647815.738449"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/PL00009260"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1468075.1468121"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 8th SODA. 360--369","author":"Jon","unstructured":"Jon L. Bentley and Robert Sedgewick. 1997. Fast algorithms for sorting and searching strings . In Proceedings of the 8th SODA. 360--369 . Jon L. Bentley and Robert Sedgewick. 1997. Fast algorithms for sorting and searching strings. In Proceedings of the 8th SODA. 360--369."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/1756553.1756558"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(91)90073-B"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jda.2010.12.001"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/2394373.2394417"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1090\/S0002-9939-1965-0174934-9"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"Johannes Fischer Tomohiro I and Dominik K\u00f6ppl. 2015. Deterministic sparse suffix sorting on rewritable texts. In arXiv:1509.07417.  Johannes Fischer Tomohiro I and Dominik K\u00f6ppl. 2015. Deterministic sparse suffix sorting on rewritable texts. In arXiv:1509.07417.","DOI":"10.1007\/978-3-662-49529-2_36"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/11780441_7"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/646715.701579"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/800152.804905"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.312.0249"},{"key":"e_1_2_1_16_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of the 12th CPM","author":"Kasai Toru","unstructured":"Toru Kasai , Gunho Lee , Hiroki Arimura , Setsuo Arikawa , and Kunsoo Park . 2001. Linear-time longest-common-prefix computation in suffix arrays and its applications . In Proceedings of the 12th CPM . Lecture Notes in Computer Science , Vol. 2089 . 181--192. Toru Kasai, Gunho Lee, Hiroki Arimura, Setsuo Arikawa, and Kunsoo Park. 2001. Linear-time longest-common-prefix computation in suffix arrays and its applications. In Proceedings of the 12th CPM. Lecture Notes in Computer Science, Vol. 2089. 181--192."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/CCP.2011.45"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1137\/0222058"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/321479.321481"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01840378"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the 31st STACS. 386--396","author":"Tomohiro","year":"2014","unstructured":"Tomohiro I, Juha K\u00e4rkk\u00e4inen , and Dominik Kempa . 2014 . Faster sparse suffix sorting . In Proceedings of the 31st STACS. 386--396 . Tomohiro I, Juha K\u00e4rkk\u00e4inen, and Dominik Kempa. 2014. Faster sparse suffix sorting. In Proceedings of the 31st STACS. 386--396."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/2018243.2018267"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/SWAT.1973.13"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(83)90075-3"}],"container-title":["ACM Transactions on Algorithms"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2836166","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2836166","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:48:40Z","timestamp":1750225720000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2836166"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,4,25]]},"references-count":24,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2016,6,15]]}},"alternative-id":["10.1145\/2836166"],"URL":"https:\/\/doi.org\/10.1145\/2836166","relation":{},"ISSN":["1549-6325","1549-6333"],"issn-type":[{"value":"1549-6325","type":"print"},{"value":"1549-6333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,4,25]]},"assertion":[{"value":"2014-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-04-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}