91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

對data.txt實驗,實現Apriori算法和改進算法的比較

資源截圖

代碼片段和文件信息

//?Apriori.cpp?:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“
#include?“Apriori.h“
#include?“conio.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif


//?唯一的應用程序對象

CWinApp?theApp;

using?namespace?std;

int?_tmain(int?argc?TCHAR*?argv[]?TCHAR*?envp[])
{
int?nRetCode?=?0;

//?初始化?MFC?并在失敗時顯示錯誤
if?(!AfxWinInit(::GetModuleHandle(NULL)?NULL?::GetCommandLine()?0))
{
//?TODO:?更改錯誤代碼以符合您的需要
_tprintf(_T(“致命錯誤:?MFC?初始化失敗\n“));
nRetCode?=?1;
}
else
{
//?TODO:?在此處為應用程序的行為編寫代碼。
Dblink?*D;
ItemSet?*IS*preIS;
SearchTree?*STk;
char?filename[30];
double?min_sup?=?0.02;
int?Record_Count?=?0min_count;
DWORD?nStartTimenEndTimeSumTime?=?0;
int?k?=?1;
cout<<“輸入數據文件名:“;
cin>>filename;
cout<<“輸入最小支持閾值min_sup:“;
cin>>min_sup;
CString?exstr1;
exstr1?=?“數據來源文件:“;
exstr1?+=?filename;
exstr1?+=?“\r\n最小支持閾值:“;
exstr1.AppendFormat(“%f\r\n\r\n“min_sup);
nStartTime?=?GetTickCount();
D?=?ReadDataFromText(filename&Record_Count);
min_count?=?int(Record_Count*min_sup);
STk?=?find_frequent_1_itemset(Dmin_count);
nEndTime?=?GetTickCount();
SumTime?+=?nEndTime?-?nStartTime;
IS?=?GetDatalink(STk);
//要刪除STk
STk?=?DeleteTree(STk);
PrintResult(ISkexstr1);
while(IS?!=?NULL)
{
k++;
nStartTime?=?GetTickCount();
preIS?=?apriori_gen(ISk);
if(preIS?==?NULL)?break;
IS?=?Deletelink(IS);
IS?=?find_frequent_k_itemset(DpreISkmin_count);????//只是把preIS中的count字段作了更新并剪枝
nEndTime?=?GetTickCount();
SumTime?+=?nEndTime?-?nStartTime;
PrintResult(ISkexstr1);
}
IS?=?Deletelink(IS);
cout< cout<<“算法總耗時:“< getch();
}

return?nRetCode;
}


SearchTree*?find_frequent_1_itemset(Dblink*?Dint?min_count)
{
SearchTree*?ST_1?=?NULL;
Dblink*?DBL?=?D;
while(DBL?!=?NULL)?????//遍歷源數據表給每個關鍵字計數
{
int?nStart?=?0nEnd;
CString?str;
do{
nEnd?=?DBL->datastr.Find(‘;‘nStart);
if(nEnd?==?-1)
str?=?DBL->datastr.Mid(nStart);
else{
str?=?DBL->datastr.Mid(nStartnEnd-nStart);
nStart?=?nEnd+1;
}
ST_1?=?SearchAndAddInTree(ST_1str1);
}while(nEnd?!=?-1);
DBL?=?DBL->next;
}
SearchAndDelInTree(ST_1min_count);?????//剪枝
return?ST_1;
}

ItemSet*?find_frequent_k_itemset(Dblink*?DItemSet*?ISint?kint?min_count)
{
Dblink*?DBL?=?D;
int?step?=?0;
CString?tmp;
while(DBL?!=?NULL)?????//遍歷源數據表搜索k-項集,增加計數
{
step++;
IS?=?SearchAndAddIn_klink(ISDBL->datastr);
DBL?=?DBL->next;
if((step?%?10)?==?0){
tmp.Format(“%d\r\n“step);
TRACE(tmp.GetBuffer());
}
}
return?Del_k_ItemSet(ISmin_count);?????//剪枝
}

ItemSet*?apriori_gen(ItemSetlink*?ISint?k)
{
ItemSetlink?*preIS1?=?IS*preIS2;
ItemSetlink?*ISk*ISkhead?=?NULL;
while(preIS1)
{
preIS2?=?preIS1->next;
while(preIS2)
{
CString?tmp;????//臨時存放候選節點
tmp.Empty();
if(k?==?2)
tmp?=?preI

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????48173??2006-04-08?16:09??data.txt

?????文件??????15360??2006-04-14?10:47??MyApriori.exe

?????文件??????14848??2006-04-14?10:47??Apriori.exe

?????文件???????2609??2006-05-03?17:21??Apriori.h

?????文件??????13929??2006-04-14?10:47??Apriori.cpp

?????文件???????2449??2006-05-03?17:22??MyApriori.h

?????文件??????12299??2006-04-14?10:47??MyApriori.cpp

-----------?---------??----------?-----??----

???????????????109667????????????????????7


評論

共有 條評論

相關資源