[英]How to build a DFS tree if i generate frequent pattern in a DFS method?
在我的算法中,我将通过DFS方法创建频繁模式,例如,我依次生成AA
, AAB
, AABC
,...(这三个模式是频繁子图模式, A
, B
, C
是节点,并且-
如果不存在任何由AA
组成的频繁子图,则开始生成AB
, ABB
,...。我想使用DFS树存储这些频繁模式。 但是我不知道什么是最好的方法。
我遇到的问题是我应该使用* prev指针记录上一级的模式吗?
// When i generate one frequent pattern, i will call `report`
void report (Projected &projected, unsigned int sup)
{
// i want to store this pattern in a DFS tree which implement with GPattern
}
struct GPattern {
CODE code;
Project project;
vector<GPattern> children; // record all children of this pattern
// should i use a `prev` pointer to record ancestor?
};
我认为您应该使用前缀树。 在这里看看
您正在手动构建GPattern
对象图。 使用Boost::Graph
可能会更好,因为它附带了许多有用的算法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.