I learned how to implement suffix tree from another stack overflow post. I can only know whether the substring exist of not. I want to know if there is a way to find the location of the sub pattern in the string using the suffix tree.
Asked
Active
Viewed 505 times
1 Answers
1
Yes! Suffix tree leaves are typically annotated with the index at which the given suffix starts. Consequently, you can find all occurrences of a string P in a string T by building a suffix tree for T, searching for P, then doing a DFS starting at the node the search ends at. Every leaf found this way corresponds to one index where the string P appears. Plus, this runs really fast: the runtime is O(|P| + k), where k is the number of matches.

templatetypedef
- 362,284
- 104
- 897
- 1,065