{"title":"About the Authors","authors":"Larry Dooley, R. D. Blackburn","doi":"10.1177/1529100614554912","DOIUrl":null,"url":null,"abstract":"Crochemore repetition algorithm introduced in 1981 was the first O(n log n) algorithm for computing repetitions. Since then, several linear-time worst-case algorithms for computing runs have been introduced. They all follow a similar strategy – first compute the suffix tree or array, then use the suffix tree or array to compute the Lempel-Ziv factorization, then using the Lempel-Ziv factorization compute all the runs. It is conceivable that in practice an extension of Crochemore repetition algorithm may outperform the linear-time algorithms, or at least for certain classes of strings. The nature of Crochemore algorithm lends itself naturally to parallelization, while the linear-time algorithms are not easily conducive to parallelization. For all these reasons it is interesting to explore ways to extend the original Crochemore repetition algorithm to compute runs. We present three variants of extending the repetition algorithm to compute runs – two with a worsen complexity of O(n log n), and one with the same complexity as the original algorithm. The three variants are tested for speed of performance and their memory requirements are analyzed.","PeriodicalId":18,"journal":{"name":"ACS Macro Letters","volume":null,"pages":null},"PeriodicalIF":5.1000,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1177/1529100614554912","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACS Macro Letters","FirstCategoryId":"102","ListUrlMain":"https://doi.org/10.1177/1529100614554912","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"POLYMER SCIENCE","Score":null,"Total":0}
引用次数: 0
Abstract
Crochemore repetition algorithm introduced in 1981 was the first O(n log n) algorithm for computing repetitions. Since then, several linear-time worst-case algorithms for computing runs have been introduced. They all follow a similar strategy – first compute the suffix tree or array, then use the suffix tree or array to compute the Lempel-Ziv factorization, then using the Lempel-Ziv factorization compute all the runs. It is conceivable that in practice an extension of Crochemore repetition algorithm may outperform the linear-time algorithms, or at least for certain classes of strings. The nature of Crochemore algorithm lends itself naturally to parallelization, while the linear-time algorithms are not easily conducive to parallelization. For all these reasons it is interesting to explore ways to extend the original Crochemore repetition algorithm to compute runs. We present three variants of extending the repetition algorithm to compute runs – two with a worsen complexity of O(n log n), and one with the same complexity as the original algorithm. The three variants are tested for speed of performance and their memory requirements are analyzed.
期刊介绍:
ACS Macro Letters publishes research in all areas of contemporary soft matter science in which macromolecules play a key role, including nanotechnology, self-assembly, supramolecular chemistry, biomaterials, energy generation and storage, and renewable/sustainable materials. Submissions to ACS Macro Letters should justify clearly the rapid disclosure of the key elements of the study. The scope of the journal includes high-impact research of broad interest in all areas of polymer science and engineering, including cross-disciplinary research that interfaces with polymer science.
With the launch of ACS Macro Letters, all Communications that were formerly published in Macromolecules and Biomacromolecules will be published as Letters in ACS Macro Letters.