广义后缀树中的填充和实现资源

时间:2011-10-13 00:19:54

标签: string data-structures

the wikipedia page开始,它使用唯一的终结符字符串$0$1,...,$n-1来表示n个字符串s1的树sn },...,$i

我的问题是:如何处理字符i+1的字面后缀为s1的情况?例如,我的第一个字符串example$0是{{1}}。这样做的聪明方法是什么?

此外,我发现的后缀树的实现主要是针对单个字符串,而不是针对通用版本。给定单个字符串的实现,如何轻松扩展它?

谢谢!

1 个答案:

答案 0 :(得分:0)

第一个问题:如果您使用的是Unicode,则可以使用未在您的环境中分配的PUA代码(http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters#Private_use_characters)。从U + E000开始就可以了。如果您使用的是8位ascii,请使用您知道不在字符串中的字节代码 - \ 003(文本结尾)听起来合适 - 而不是'$'。

第二个问题:重新开始,只从当前树而不是空树开始。唯一的终结符保证您永远不会发现自己尝试拆分叶节点。