{"title":"最佳就地后缀排序","authors":"Zhize Li, Jian Li, Hongwei Huo","doi":"10.1109/DCC.2018.00075","DOIUrl":null,"url":null,"abstract":"Suffix array is a fundamental data structure for many applications that involve string searching and data compression. We obtain the \\emph{first} linear time in-place suffix array construction algorithm which is optimal both in time and space for read-only integer alphabets. Our algorithm settles the open problem posed by [Franceschini and Muthukrishnan, ICALP'07]. The open problem asked to design in-place algorithms in o(n\\log n) time and ultimately, in O(n) time for integer alphabets with |ς|≤ n. Our result is in fact slightly stronger since we allow |ς|=O(n). Besides, we extend it to obtain an optimal O(n\\log n) time in-place suffix sorting algorithm for read-only general alphabets (i.e., only comparisons are allowed).","PeriodicalId":137206,"journal":{"name":"2018 Data Compression Conference","volume":"46 12","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":"{\"title\":\"Optimal In-Place Suffix Sorting\",\"authors\":\"Zhize Li, Jian Li, Hongwei Huo\",\"doi\":\"10.1109/DCC.2018.00075\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Suffix array is a fundamental data structure for many applications that involve string searching and data compression. We obtain the \\\\emph{first} linear time in-place suffix array construction algorithm which is optimal both in time and space for read-only integer alphabets. Our algorithm settles the open problem posed by [Franceschini and Muthukrishnan, ICALP'07]. The open problem asked to design in-place algorithms in o(n\\\\log n) time and ultimately, in O(n) time for integer alphabets with |ς|≤ n. Our result is in fact slightly stronger since we allow |ς|=O(n). Besides, we extend it to obtain an optimal O(n\\\\log n) time in-place suffix sorting algorithm for read-only general alphabets (i.e., only comparisons are allowed).\",\"PeriodicalId\":137206,\"journal\":{\"name\":\"2018 Data Compression Conference\",\"volume\":\"46 12\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-10-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"31\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 Data Compression Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/DCC.2018.00075\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 Data Compression Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DCC.2018.00075","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31
摘要
后缀数组是许多涉及字符串搜索和数据压缩的应用程序的基本数据结构。我们得到了\emph{第一个}对只读整数字母在时间和空间上都最优的线性时间就地后缀数组构造算法。我们的算法解决了[Franceschini and Muthukrishnan, ICALP'07]提出的开放性问题。开放问题要求在o(n \log n)时间内设计就地算法,并最终在o(n)时间内设计|ς|≤n的整数字母。我们的结果实际上稍微强一些,因为我们允许|ς|= o(n)。此外,我们对其进行了扩展,以获得只读通用字母(即只允许比较)的最优O(n \log n)时间就地后缀排序算法。
Suffix array is a fundamental data structure for many applications that involve string searching and data compression. We obtain the \emph{first} linear time in-place suffix array construction algorithm which is optimal both in time and space for read-only integer alphabets. Our algorithm settles the open problem posed by [Franceschini and Muthukrishnan, ICALP'07]. The open problem asked to design in-place algorithms in o(n\log n) time and ultimately, in O(n) time for integer alphabets with |ς|≤ n. Our result is in fact slightly stronger since we allow |ς|=O(n). Besides, we extend it to obtain an optimal O(n\log n) time in-place suffix sorting algorithm for read-only general alphabets (i.e., only comparisons are allowed).