资源简介
实现的是发表在计算机工程杂志的一篇文章中的算法
代码片段和文件信息
#pragma warning(disable:4786)
#include
#include
#include
#include
#include
#include
#include
#include
#include “cell.h“
#include “idex.h“
using namespace std;
typedef vector INTVECTOR;
int * generate_set_including_frequent( int *count1string &filename1ifstream &inint length);
string & init_frequent1(string &strifstream &in1string &fre);
cell * generate_set_p(cell *celcell *recellint size);
cell * generate_set_Q(cell *celcell *recellint sizeint min_count);
idex *fetch_Q(idex *idexstring &sifstream &inconst cell *cel);//从文件A中取出和Q集相符的01
bool *create_matix(bool*);
void transform(vector& vecidex * bl);
void blAnd(idex *q_ididex *gen_ididex *resultint sizeint vsizeint vecsizeint min_support);
//bool Isequal(bool bl[]bool cl[]int size);
//vector 中已经装有01字符传
//把vector中的字符串转化为bool型变量
void sub_set(int Mint Nvector& vec);
////程序的缺陷:不能挖掘A1和A2但是A1已经不必挖掘A2也很好挖掘顾先不考虑
int main()
{
DWORD before = ::GetTickCount();
int q=0;
int min_support;
ifstream in;
ifstream in1;
string filename1;
string filename2;
string frequent1;
cout<<“please init frequent1 and input the filename:“;
cin>>filename2;
frequent1=init_frequent1(filename2in1frequent1);//把频繁一项集放入字符串frequent1
for(int j=0;j cout<
cout<<“please input the filename you want to mine:“;
cin>>filename1;
cout<<“input the min_support:“;
cin>>min_support;
cout<<“please input the quantity of item:“;
cin>>q;
int* count=new int[q];
for(int h=0;h count[h]=0;
count=generate_set_including_frequent(countfilename1inq);//计算某个字符数组进行统计
cell * cel=new cell[frequent1.length()];
cell * cell1=new cell[frequent1.length()];
cell * cell2=new cell[frequent1.length()];
for(int i=0;i {
cel[i]._item=frequent1.c_str()[i];
cel[i]._num=count[i];
}
for(int s=0;s {
cell1[s]._item=frequent1.c_str()[s];
cell1[s]._num=count[s];
}
for(int k=0;k {
cell2[k]._item=frequent1.c_str()[k];
cell2[k]._num=count[k];
}
cell1=generate_set_p(celcell1frequent1.length());
cout<<“set P is :“;
for(int f=0;f cout< cout<
delete []cell1;
for(int z=0;z {
cel[z]._item=frequent1.c_str()[z];
cel[z]._num=count[z];
}
cell2=generate_set_Q(celcell2frequent1.length()min_support);
cout<<“set Q is:“;
for(int g=1;g cout< cout< idex *id=new idex[20000];
string str1;
ifstream in2;
cout<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10 2008-03-20 13:49 minebitarray\A1.txt
文件 10 2008-03-24 18:38 minebitarray\A2.txt
文件 16 2008-03-20 13:45 minebitarray\A4.txt
文件 9 2008-03-31 21:49 minebitarray\lily.txt
文件 8689 2008-04-07 21:56 minebitarray\A9.txt
文件 71 2008-04-04 00:02 minebitarray\idex.h
文件 16190 2008-04-08 11:43 minebitarray\A8.txt
文件 8 2008-04-08 11:38 minebitarray\frequent1.txt
文件 4468 2008-03-20 21:21 minebitarray\minebitarray.dsp
文件 1300 2008-04-08 11:21 minebitarray\minebitarray.plg
文件 530 2008-03-12 20:36 minebitarray\minebitarray.dsw
文件 13 2008-03-20 14:28 minebitarray\A3.txt
文件 7196 2008-04-08 11:32 minebitarray\A5.txt
文件 55 2008-03-13 20:14 minebitarray\cell.h
文件 189440 2008-05-17 23:38 minebitarray\Debug\vc60.idb
文件 167936 2008-04-08 11:21 minebitarray\Debug\vc60.pdb
文件 430100 2008-04-04 19:57 minebitarray\Debug\minebitarray.obj.enc
文件 7224 2008-09-10 16:39 minebitarray\Debug\BuildLog.htm
文件 406 2008-09-10 15:49 minebitarray\Debug\minebitarray.exe.em
文件 470016 2008-09-10 16:39 minebitarray\Debug\vc90.idb
文件 290816 2008-09-10 16:39 minebitarray\Debug\vc90.pdb
文件 472 2008-09-10 15:49 minebitarray\Debug\minebitarray.exe.em
文件 713216 2008-09-10 16:39 minebitarray\Debug\minebitarray.exe
文件 3410944 2008-09-10 16:39 minebitarray\Debug\minebitarray.pdb
文件 381 2008-09-10 16:39 minebitarray\Debug\minebitarray.exe.intermediate.manifest
文件 67 2008-09-10 16:39 minebitarray\Debug\mt.dep
文件 856223 2008-09-10 16:39 minebitarray\Debug\minebitarray.obj
文件 1635084 2008-09-10 16:39 minebitarray\Debug\minebitarray.ilk
文件 55808 2008-05-17 23:45 minebitarray\minebitarray.opt
文件 15363072 2008-09-10 16:45 minebitarray\minebitarray.ncb
............此处省略10个文件信息
评论
共有 条评论