Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;FP树还是前缀树_C++_Tree_Sequence_Prefix_Prefix Tree - Fatal编程技术网

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执行此操作:但您的示例不包含任何公共序列前缀。你需要放慢速度,校对和纠正打字错误,我不能理解这一点