I've been searching for tutorials about suffix tree for quite a while. In SO, I found 2 posts about understanding suffix tree: 1, 2.

But I can't say that I understand how to build one, Oops. In Skiena's book Algorithm design manual, he says:

Since linear time suffix tree construction algorithms are nontrivial, I recommend using an existing implementation.

Well, is the on-line construction algorithm for suffix tree so hard? Anybody can put me in the right direction to understand it?

Anyway, cut to the chase, besides the construction, there is one more thing I don't understand about suffix tree. Because the edges in suffix tree are just a pair of integers (right?) specifying the starting and ending pos of the substring, then if I want to search a string x in this suffix tree, how should I do it? De-reference those integers in the suffix tree, then compare them one by one with x? Couldn't be this way.

Edit
Report