是的我读过这个:Ukkonen's suffix tree algorithm in plain English?
这是对算法的一个很好的解释,但它不是杀死我的算法本身,而是用于实现它的数据结构。
我需要数据结构尽可能最小和尽可能快,我看到很多实现只使用节点,一些只有边,一些有边和节点等。然后有变化,我正在阅读的网站声称节点不需要指向其父节点,其他地方不会考虑如何管理节点的子节点。
我的想法是使用int start和int * end(指向当前结束或阶段i)的Node结构。每个节点都有一个suffix_link指针,一个指向其父节点的指针,以及一个指向包含其子节点的向量的指针。
我的问题是,这些东西是否足以实现后缀树?我能以任何方式最小化它吗?我还没有看到有关载体中的孩子的实现,所以我对自己的想法持怀疑态度。有人可以解释一下只使用节点以这种方式实现后缀树需要什么?
答案 0 :(得分:0)
当我必须实现该算法时,更好的解释文档是原始的Ukkonen paper,并且有一个newer with images。
这些文件中的是,所有内部都是实现Ukkonen的后缀树算法。
答案 1 :(得分:0)