繁体   English   中英

如果我在DFS方法中生成频繁模式,如何构建DFS树?

[英]How to build a DFS tree if i generate frequent pattern in a DFS method?

在我的算法中,我将通过DFS方法创建频繁模式,例如,我依次生成AAAABAABC ,...(这三个模式是频繁子图模式, ABC是节点,并且-如果不存在任何由AA组成的频繁子图,则开始生成ABABB ,...。我想使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM