簡體   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