C++ C++;FP树还是前缀树
我有一些这样的序列C++ C++;FP树还是前缀树,c++,tree,sequence,prefix,prefix-tree,C++,Tree,Sequence,Prefix,Prefix Tree,我有一些这样的序列 (100) - (102) - (103) - (104,106) - (108) (101) - (103) (102) - (106) 在C++中有一些有效的实现,如前缀树或fp树或类似的实现?由于给定的数据似乎没有任何标准的表示法,所以不清楚您到底有什么 如果前缀只是整数值之间的几个共享初始十进制数字,那么它们可能不会对数据存储产生任何显著影响。您可以在将值插入数据结构之前减去100,将值存储为char,然后在检索后再加上100,但这可能不值得 您可能应该将序列序列存
(100) - (102) - (103) - (104,106) - (108)
(101) - (103)
(102) - (106)
在C++中有一些有效的实现,如前缀树或fp树或类似的实现?由于给定的数据似乎没有任何标准的表示法,所以不清楚您到底有什么 如果前缀只是整数值之间的几个共享初始十进制数字,那么它们可能不会对数据存储产生任何显著影响。您可以在将值插入数据结构之前减去
100
,将值存储为char
,然后在检索后再加上100,但这可能不值得
您可能应该将序列序列存储为
std::deque
,其中对vector
元素进行排序。除非有我看不到的模式或者我误解了这个问题,否则在查找包含给定数字的序列时,最佳性能必须是序列数的O(N)乘以序列长度的O(lgn)。我不明白你在说什么。。。但若你们需要建立一个FP树,这里是我找到的最好的页面
无论我的数据结构如何。。我希望有一个数据结构,允许我存储序列,例如abc、de、f,特别是我需要的,如果序列x的前缀等于某个已存储的序列,我将高效地搜索:例如:我有a-b-c-d-如果abc等于某个已存储的前缀sequenza,我将非常高效。。使用前缀treeGgSalent执行此操作:但您的示例不包含任何公共序列前缀。你需要放慢速度,校对和纠正打字错误,我不能理解这一点