哪种类型的树数据结构适合于高效的频繁模式挖掘



我目前正在研究频繁模式挖掘(FPM)。我在谷歌上搜索可以用于FPM的数据结构。我主要关心的是数据结构的空间紧凑性,因为我计划在其上使用分布式算法(在适合我主内存的DS上处理同步)。我遇到的数据结构列表是,

  • 前缀树
  • 紧凑前缀树或根树
  • 前缀哈希树(PHT)
  • 突发树(目前正在阅读它的工作原理)

我不知道每个数据结构的发展顺序。有人能告诉我哪个DS(不限于上面提到的DS)是符合我要求的最佳数据结构吗?

p.S:目前我认为突发树是FPM中最著名的空间有效数据结构。

我同意这个问题很宽泛。然而,如果你正在寻找一个节省空间的前缀树,那么我强烈建议你使用BurstTrie。我写了一个实现,并能够为Stripe最新的Capture the Flag压缩大量空间效率。(他们有一个问题,使用了4个节点,每个节点小于500mb,"需要"一个后缀树。)

如果你正在寻找一个有效的突发trie的实现,那么看看我的。

https://github.com/nbauernfeind/scala-burst-trie

最新更新