[英]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.