📄 aprioriset.h
字号:
#pragma once
#include "stdafx.h"
static const char* DB_NAME = "Apriori";
static const char* HOST = "localhost";
static const char* USER = "root";
static const char* PASSWD = "scorpio";
static const int MaxSize = 1000;
static const string::size_type npos = -1;
class CAprioriSet
{
//数据访问
private:
Connection con;
Result res;
//变量
public:
double freq; // 最小频繁数
int itemCount; // 设置数据库中总共有的各种不同项目个数
int candFreqCount[MaxSize][MaxSize]; // 各级候选项目的频繁数
int freqCount[MaxSize][MaxSize]; // 各级项目的频繁数
string candlargeItem[MaxSize][MaxSize]; // 存放各级候选频繁项目
string largeItem[MaxSize][MaxSize]; // 存放各级频繁项目
//vector<bool> candLargeItemFlag;
vector<int> largeItemCount; // 存放各级频繁项目个数
vector<int> candlargeItemCount; // 存放各级候选项目个数
vector< ItemType > freqGroup; // 存放所有级别的频繁项集
//函数
public:
CAprioriSet(int _itemCount, double _itemSupp);
~CAprioriSet(void);
// 查找1-频繁项集
void FindlargeItem(void);
// 生成频繁项集,作为算法结果返回给view
void GenfreqItem(int level);
// 剪枝函数
bool Prune( int level, string& strCandFreqItem, vector<bool> itemFlag );
// 抽取字符串中的项目
vector<string>& tokenItem(vector<string>& strVec , string& text);
// 由L(k-1)生成C(k)
void AprioriGen(int level);
// 获取频繁项集,结果保存为vector <tuple<k, item, count> >
vector< ItemType > getFreqItem();
// 生成下一个组合
string& next_combination(vector<string>& kItem, int vecPos);
// 搜索数据集中的子串
bool search(vector<string>& src, string& text);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -