Suffix tree 字符串索引和后缀树

Suffix tree 字符串索引和后缀树,suffix-tree,string-search,suffix-array,Suffix Tree,String Search,Suffix Array,我必须从大型PDF文档中构建某种“字符串目录”,以便更快地搜索字符串/子字符串 该机制的工作原理如下: PDF扫描仪扫描PDF文档中的字符串,并调用目录中的回调方法为该字符串编制索引 现在,应该使用什么技术来建立这样一个目录? 我听说: -后缀树 -广义后缀树 -后缀数组 我主要研究广义后缀树。那么我是对还是错呢? 我猜“普通”后缀树只适合索引单个字符串 但是后缀数组呢?有广义后缀数组吗 我在C/C++中找到了很多用字符串构建后缀树的代码,但没有一个用于构建通用后缀树的代码 广义后缀树可以通过任

我必须从大型PDF文档中构建某种“字符串目录”,以便更快地搜索字符串/子字符串

该机制的工作原理如下: PDF扫描仪扫描PDF文档中的字符串,并调用目录中的回调方法为该字符串编制索引

现在,应该使用什么技术来建立这样一个目录? 我听说: -后缀树 -广义后缀树 -后缀数组

我主要研究广义后缀树。那么我是对还是错呢? 我猜“普通”后缀树只适合索引单个字符串

但是后缀数组呢?有广义后缀数组吗


我在C/C++中找到了很多用字符串构建后缀树的代码,但没有一个用于构建通用后缀树的代码

广义后缀树可以通过任何后缀树算法来建立。对于字符串
s1,s2,…,sn
构造新字符串作为
s1,s2,…,sn
的串联,由主字母表中未包含的字符
$1,$2,…
分隔:
S=s1$1s2$2…$n-1sn$n
后缀树的主要缺点是需要大量内存(10n-20n字节,其中n是文本的长度)。这正是我在做的。我将整个内容作为一个字符串加载,并从中创建一个树。它是有效的,但我想用广义后缀树的方式来做。