Factorizing Strings into Repetitions

Theory of Computing Systems(2022)

引用 1|浏览7
暂无评分
摘要
factorization f 1 ,…, f m of a string w is called a repetition factorization of w if each factor f i is a repetition, namely, f_i = x^kx^' for some non-empty string x , an integer k ≥ 2, and x^' being a proper prefix of x . Dumitran et al. (Proc. SPIRE 2015) proposed an algorithm which computes an arbitrary repetition factorization of a given string w in O ( n ) time, where n is the length of w . The number of factors (i.e. repetitions) contained in the output of their algorithm is not known or guaranteed. In this paper, we propose two algorithms for computing smallest/largest repetition factorizations in O(n log n) time, which respectively consist of the smallest/largest number of factors. The first algorithm is a simple O(n log n) -space algorithm based on a reduction of the problem to the shortest/longest path problem on the DAG of size O(n log n) . The second one simulates the dynamic programming algorithm for shortest/longest path problem within O ( n ) space based on the idea of the first algorithm. Moreover, we discuss combinatorial structures of smallest/largest repetition factorizations of Fibonacci strings.
更多
查看译文
关键词
Repetition factorizations,Squares,Dynamic programming,Fibonacci strings
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要