现在的位置: 首页 > 综合 > 正文

Longest Repeated Substring

2019年03月11日 ⁄ 综合 ⁄ 共 3162字 ⁄ 字号 评论关闭

I wrote the a program to get the Longest Repeated Substring of a string. I think the way I used should be Dynamic Programming. The basic steps are:
1) First find all Repeated Substrings with only one character
2) Find Repeated Substrings with the number of characters one character more than previous one and grow from previous one.
3) Repeat step 2 untill they stop growing.

In my way, the program's time complexity is O(n^2).  After searching the internet, I found there are other quicker way to achieve this. That is through Suffix Tree. Many string related algorithms are based on it. There's O(n) algorithm to build a Suffix Tree.

 

Several data structures is relevant to Suffix Tree, e.g. Suffix Array, Trie, etc.

 

Followed the program written in my own way. In some other time I'll try to learn Suffix Tree and Trie and Suffix Array.

 

Based on my understanding, Dynamic Programing has characters followed:
1)Problem solving is divided to steps.
2)Latter steps make use of former steps, and not recalculate from the beginning.
3)Getting rid of some former steps' results if they are found unapplicable to the problem in latter steps.

 

 

Outputs of program:

【上篇】
【下篇】

抱歉!评论已关闭.