数据结构--FP Tree

FP Tree的数据结构

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

FP Tree的构建

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

TIDItems
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%,所以不会出现在表头项,得到如下表格

单项频繁集频率
B4
E4
A3
C2
F2


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

TIDItems
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->为公共前缀的路径,所以结构如下图,冒号后面的为经过该节点的路径数目
这里写图片描述

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

6、重复上述的步骤,把所有记录都记录到FP Tree上,最后会形成如下结构
这里写图片描述

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



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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值