📄 fptree.h
字号:
// Fptree1.h: interface for the Fptree class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FPTREE1_H__7AA1C13B_5149_4A8A_937F_2B525F703825__INCLUDED_)
#define AFX_FPTREE1_H__7AA1C13B_5149_4A8A_937F_2B525F703825__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <stdio.h>
#include "fpt.h"
#include "LineBuf.h"
class Fptree
{
public:
int Execute(const char* param);
Fptree();
virtual ~Fptree();
private:
float m_userTime;
float m_sysTime;
int m_headerTableSize;
SysTime m_tm1;
SysTime m_tm2;
SysTime m_tm3;
bool m_sumflag;
LineBuf m_line;
public:
void WriteSumFile(const char* FileName);
int Execute(const char* param, const char* subparam);
void Destroy();
void DisplayTime();
void BuildTree();
void ParseItemSet();
void FPgrowth(FPTreeNode T, FPTreeNode *headerTableLink, int headerSize, int *baseItems, int baseSize);
LargeItemPtr *largeItemset; /* largeItemset[k-1] = array of large k-itemsets */
int *numLarge; /* numLarge[k-1] = no. of large k-itemsets found. */
int *support1; /* Support of 1-itemsets */
int *largeItem1; /* 1-itemsets */
FPTreeNode root; /* Initial FP-tree */
FPTreeNode *headerTableLink; /* Corresponding header table */
int expectedK; /* User input upper limit of itemset size to be mined */
int realK; /* Actual upper limit of itemset size can be mined */
float threshold; /* User input support threshold */
float thresholdDecimal;
int numItem; /* Number of items in the database */
int numTrans; /* Number of transactions in the database */
char dataFile[100]; /* File name of the database */
char outFile[100]; /* File name to store the result of mining */
protected:
void destroyTree(FPTreeNode root);
void genConditionalPatternTree(int *pattern, int baseSize, int patternSupport,
int *conLargeItem, int *conLargeItemSupport, FPTreeNode T,
int headerIndex, int headerSize, FPTreeNode *headerTableLink);
void buildConTree(FPTreeNode *conRoot, FPTreeNode **conHeader, int conHeaderSize, int *conLargeItem,
int *conLargeItemSupport, FPTreeNode T, FPTreeNode *headerTable, int baseIndex, int headerSize);
void insert_tree(int *freqItemP, int *indexList, int count, int ptr, int length,
FPTreeNode T, FPTreeNode *headerTableLink, int *path) ;
void combine(int *itemList, int *support, int start, int itemListSize, int *base, int baseSize);
void addToLargeList(int *pattern, int patternSupport, int index);
void q_sortA(int *indexList, int *freqItemP, int low, int high, int size);
void input(const char *configFile);
void q_sortD(int *support, int *itemset, int low,int high, int size);
void swap(int *support, int *itemset, int x, int i);
void displayResult();
};
#endif // !defined(AFX_FPTREE1_H__7AA1C13B_5149_4A8A_937F_2B525F703825__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -