FP Tree的数据结构

FP Tree算法引入了一些数据结构来临时存储数据,这些数据结构有3个组成部分,分别是项头表、FP Tree 、节点链表

FP Tree的构建

1、源数据的准备:
下面的数据为源数据,我们将用下面的数据构建FP tree

TID Items
1 {A,B,E}
2 {B,C,D}
3 {A,E}
4 {B,E,F}
5 {B,C}
6 {F}
7 {A,E}


2、构建表头项:我们先设定最小支持度的阈值为10%,然后把所有的1项频繁集按照出现的频率从高到底排列,由于D的出现次数为1,低于阈值10%,所以不会出现在表头项,得到如下表格

单项频繁集 频率
B 4
E 4
A 3
C 2
F 2


3、把源数据中的集合按照表头项的顺序重新排列,得到如下表格

TID Items
1 {B,E,A}
2 {B,C,D}
3 {E,A}
4 {B,E,F}
5 {B,C}
6 {F}
7 {E,A}


4、PF Tree是一棵以null为根节点的树,从第一条数据{B,E,A}开始,FP Tree中无与B->E->为公共前缀的路径,所以结构如下图,冒号后面的为经过该节点的路径数目
数据结构--FP Tree

5、接下来到第二条数据{B,C,D},节点B为B->C->D的公共前缀,所以经过B节点的路径数目会变成2,形成如下结构
数据结构--FP Tree

6、重复上述的步骤,把所有记录都记录到FP Tree上,最后会形成如下结构
数据结构--FP Tree

7、把项头表的各个节点分别指向对应的节点,并指向树中和它同名的节点,最后得到如下结构图,也就是一棵完整的FP Tree
数据结构--FP Tree



PS:博文中如有什么不对的地方恳请大家指出,谢谢~

相关文章:

  • 2021-05-29
  • 2022-01-28
  • 2021-09-22
猜你喜欢
  • 2021-11-09
  • 2021-08-22
  • 2021-04-13
  • 2022-12-23
  • 2021-07-22
  • 2021-05-12
  • 2021-06-11
相关资源
相似解决方案