亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.cpp

?? Apriori算法是一種找頻繁項目集的基本算法。其基本原理是逐層搜索的迭代
?? CPP
字號:
#include <afxdb.h>
#include <vector>
#include <iostream>
#include <CString>

#define MIN_SUP 0.7//最小支持度

long MAX_T_SUM=0;	//事物總數(shù)

typedef struct
{
	std::vector<CString> tname;
	long sup;
}lnote;

typedef std::vector<lnote> L;

int Find_Tlist_In_DBTlist(std::vector<CString> tlist,std::vector<CString> *s)
{
	int flag;
	for(unsigned int i=0;i<tlist.size();i++)
	{
		flag=0;
		for(unsigned int j=0;j<s->size();j++)
			if((*s)[j].Compare(tlist[i])==0)
			{
				flag=1;		break;
			}
		if(flag==0)
			goto end;
	}
end:
	return flag;
}

bool Find_TName_In_L_Or_C(int &i,CString tname,L c)
{
	unsigned int j;
	for(j=0;j<c.size();j++)
		if(tname.Compare(c[j].tname[0])==0)
				goto Find;
	return false;
Find:
	i=j;
	return true;
}

bool Find_TList_In_L(std::vector<CString> tlist,L &l)
{
	unsigned int j,k;
	for(unsigned int i=0;i<l.size();i++)
	{
		for(j=0,k=0;j<tlist.size();j++)
		{
			for(;k<l[i].tname.size();k++)
			{
				if(tlist[j].Compare(l[i].tname[k])<0)
					goto next;
				if(tlist[j].Compare(l[i].tname[k])==0)
					break;
			}
			if(k==l[i].tname.size())
				break;
		}
next:
		if(j==tlist.size())
			return true;
	}
	return false;
}

void Find_L1(CRecordset *tt,L &l1)
{
	L c1;
	//get C1
	for(int i;!tt->IsEOF();MAX_T_SUM++)
	{
		CString tname;
		for(long j=1;j<tt->GetODBCFieldCount();j++)
		{
			tt->GetFieldValue(j,tname);
			tname.TrimLeft();
			tname.TrimRight();//Trim();
			if(Find_TName_In_L_Or_C(i,tname,c1))
				c1[i].sup++;
			else
			{
				lnote ln;
				ln.sup=1;
				ln.tname.push_back(tname);
				c1.push_back(ln);
			}
		}
		tt->MoveNext();
		//std::cout<<MAX_T_SUM<<'\n';
	}
	//get L1 from C1
	for(unsigned int i1=0;i1<c1.size();i1++)
		if(c1[i1].sup*1.0/MAX_T_SUM>=MIN_SUP)
			l1.push_back(c1[i1]);
}

bool Join_Li_And_Lj(std::vector<CString> tname1,std::vector<CString> tname2,lnote &cnote)
{
	cnote.tname.clear();
	for(unsigned int i=0;i<tname1.size();i++)
		if(i==tname1.size()-1)
			if(tname1[i].Compare(tname2[i])<0)
			{
				cnote.tname.push_back(tname1[i]);
				cnote.tname.push_back(tname2[i]);
				cnote.sup=0;
				return true;
			}
			else
			{
				cnote.tname.push_back(tname2[i]);
				cnote.tname.push_back(tname1[i]);
				cnote.sup=0;
				return true;
			}
		else
			if(tname1[i].Compare(tname2[i])!=0)
				break;
			else
				cnote.tname.push_back(tname1[i]);
	return false;
}

bool Has_Infrequent_Subset(std::vector<CString> tlist,L &l)
{
	unsigned int len=tlist.size()-2;
	std::vector<CString> tl;
	for(unsigned int i=0;i<len;i++)
	{
		tl.clear();
		for(unsigned int j=0;j<tlist.size();j++)
			if(j!=i)
				tl.push_back(tlist[j]);
		if(!Find_TList_In_L(tl,l))		//find return true
			return true;				//has infrequent subset
	}
	return false;
}

void aproiri_gen(L &l,L &c)
{
	lnote cnote;
	c.clear();
	for(unsigned int i=0;i<l.size();i++)
		for(unsigned int j=i+1;j<l.size();j++)
		{
			if(Join_Li_And_Lj(l[i].tname,l[j].tname,cnote))		//true is can join
				if(!Has_Infrequent_Subset(cnote.tname,l))				//true means has infrequent subset
					c.push_back(cnote);
		}
}

void Print_L(L &l)
{
	lnote ll;
	for(unsigned int i=0;i<l.size();i++)
	{
		ll=l[i];
		for(unsigned int j=0;j<ll.tname.size();j++)
		{
			CString cc;
			cc=ll.tname[j];
			for(unsigned int t=0;t<cc.GetLength();t++)
				std::cout<<cc.GetAt(t)<<",";
		}
		std::cout<<"\t\t"<<ll.sup*1.0/MAX_T_SUM<<'\n';
	}
}

void Apriori(CRecordset *tt,std::vector<L> &lt)
{
	tt->Open(CRecordset::forwardOnly,"select * from mushroom",CRecordset::readOnly);
	
	L l,c;
	Find_L1(tt,l);	
	while(l.size()!=0)
	{
		lt.push_back(l);
	//	Print_L(l);std::cout<<'\n';
		aproiri_gen(l,c);
	//	Print_L(c);std::cout<<'\n';
		tt->Close();
		tt->Open(CRecordset::forwardOnly,"select * from mushroom",CRecordset::readOnly);
		//tt->MoveFirst();
		while(!tt->IsEOF())
		{
			CString tname;
			std::vector<CString> s;
			for(long j=1;j<tt->GetODBCFieldCount();j++)
			{
				tt->GetFieldValue(j,tname);
				tname.TrimLeft();
				tname.TrimRight();//Trim();
				s.push_back(tname);
			}
			for(unsigned int i=0;i<c.size();i++)
				c[i].sup+=Find_Tlist_In_DBTlist(c[i].tname,&s);	//find return 1
			tt->MoveNext();
			s.clear();
		}
	//	Print_L(c);std::cout<<'\n';
		l.clear();
		for(unsigned int i=0;i<c.size();i++)
			if(c[i].sup*1.0/MAX_T_SUM>=MIN_SUP)
				l.push_back(c[i]);
	}
	
	tt->Close();
}

void Print_Lt(std::vector<L> &lt)
{
	for(unsigned int i=0;i<lt.size();i++)
	{
		std::cout<<'L'<<i+1<<':'<<'\n';
		Print_L(lt[i]);
	}
}

void main()
{
	CDatabase db;
	db.Open("db_mg");
	CRecordset tt(&db);
	SYSTEMTIME beginT,endT;
	std::vector<L> lt;

	GetSystemTime(&beginT);
	Apriori(&tt,lt);
	GetSystemTime(&endT);
	
	int m,s;
	m=endT.wMinute - beginT.wMinute;
	s=endT.wSecond - beginT.wSecond;
	if(s < 0)
	{
		s=60+s;
		m--;
	}

	Print_Lt(lt);
	std::cout << m << "M "
		      << s << "S \n";

 	db.Close();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院老司 | 91福利在线观看| 国产成人午夜片在线观看高清观看| 五月天国产精品| 亚洲成人777| 日日夜夜一区二区| 免费在线观看成人| 国产综合色产在线精品| 国产精品一区不卡| 成人激情校园春色| 欧洲一区二区三区在线| 欧美日韩国产片| 欧美成人一级视频| 日韩影院免费视频| 99精品欧美一区二区三区小说| 99在线精品视频| 在线观看欧美日本| 欧美一区二区三区系列电影| 欧美xxxxxxxx| 国产精品乱码人人做人人爱| 亚洲精品日韩综合观看成人91| 亚洲成人自拍偷拍| 国产一区二区三区国产| 成+人+亚洲+综合天堂| 欧美在线观看禁18| 日韩精品一区二区三区中文不卡| 久久久亚洲精品石原莉奈| 国产精品久久久久久久蜜臀| 亚洲综合色在线| 久草热8精品视频在线观看| 国产成人av福利| 欧美体内she精高潮| 久久色.com| 亚洲自拍偷拍网站| 激情欧美一区二区三区在线观看| 成人午夜又粗又硬又大| 欧美丰满高潮xxxx喷水动漫| 欧美国产日韩亚洲一区| 婷婷国产在线综合| 成人av在线资源| 91精品国产一区二区三区| 中文字幕欧美国产| 免费看欧美女人艹b| 91在线观看一区二区| 精品国偷自产国产一区| 亚洲综合男人的天堂| 粉嫩13p一区二区三区| 91精品欧美综合在线观看最新| 国产精品免费aⅴ片在线观看| 麻豆国产欧美日韩综合精品二区| 一本一道久久a久久精品| 2021国产精品久久精品| 日韩成人精品在线观看| 一本色道久久综合亚洲91| 欧美国产精品专区| 国产精品一区久久久久| 91麻豆精品国产| 亚洲午夜久久久久久久久电影院 | 国产喷白浆一区二区三区| 亚洲电影一级片| 一本高清dvd不卡在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 日韩视频国产视频| 亚洲成人一区二区| 91官网在线观看| 一区二区三区欧美| 91高清在线观看| 亚洲精品成人悠悠色影视| 成人h版在线观看| 中文字幕一区av| 成人在线视频一区| 国产精品污网站| 丁香桃色午夜亚洲一区二区三区| 精品免费视频一区二区| 另类小说欧美激情| 欧美xxxxxxxx| 国产一区欧美二区| 久久综合色8888| 国产剧情在线观看一区二区| 精品理论电影在线| 国产一区二区网址| 日本一区二区三区四区在线视频| 国产精品一二一区| 国产精品三级久久久久三级| 99视频国产精品| 亚洲综合色在线| 911精品国产一区二区在线| 日韩主播视频在线| 欧美不卡视频一区| 岛国一区二区三区| 亚洲欧洲日产国码二区| 91蜜桃免费观看视频| 亚洲国产精品欧美一二99| 91精品在线麻豆| 国产激情视频一区二区三区欧美 | 日本成人在线网站| 精品久久人人做人人爱| 成人精品亚洲人成在线| 一区二区三区欧美日韩| 日韩视频在线永久播放| 国产69精品久久99不卡| 一区二区三区四区在线免费观看| 欧美男男青年gay1069videost| 欧美aa在线视频| 亚洲国产精品av| 欧美理论片在线| 国产一区二区三区在线观看免费| 中文字幕日韩av资源站| 欧美一区二区免费观在线| 成人免费视频播放| 婷婷激情综合网| 国产欧美精品一区二区三区四区| 在线一区二区三区四区| 黄色精品一二区| 亚洲精品国产一区二区三区四区在线| 日韩欧美在线网站| 色综合天天综合网国产成人综合天| 天天综合天天做天天综合| 国产精品女人毛片| 日韩欧美国产一区二区三区 | 欧美日韩免费在线视频| 成人一区二区三区在线观看| 亚洲第一成人在线| 亚洲欧美另类久久久精品 | 99久久综合国产精品| 免费成人结看片| 一区二区三区电影在线播| 久久亚洲精精品中文字幕早川悠里| 欧美日韩亚洲不卡| 91一区二区三区在线观看| 国产精品一区二区三区四区| 爽好久久久欧美精品| 一区二区三区在线免费播放| 国产日韩欧美麻豆| 精品国产精品网麻豆系列| 欧美日韩国产乱码电影| 91国产丝袜在线播放| 97久久精品人人爽人人爽蜜臀| 国产一区二区不卡在线| 蜜臀av性久久久久av蜜臀妖精| 亚洲欧美乱综合| 亚洲欧美色综合| 亚洲视频中文字幕| 亚洲欧美综合另类在线卡通| 国产亚洲婷婷免费| 久久精品人人做人人爽97| 久久亚洲精华国产精华液 | 国产欧美精品日韩区二区麻豆天美| 日韩一卡二卡三卡| 日韩亚洲欧美综合| 日韩视频一区二区三区| 91精品国产综合久久久久久久| 欧美日本在线观看| 欧美丰满少妇xxxxx高潮对白| 欧美日韩成人综合| 欧美精品第1页| 91精品国产综合久久久蜜臀粉嫩 | 亚洲va韩国va欧美va精品| 樱桃国产成人精品视频| 樱花影视一区二区| 亚洲综合在线第一页| 日日摸夜夜添夜夜添亚洲女人| 日韩国产精品91| 国内精品伊人久久久久av影院 | 99久久精品国产麻豆演员表| 99精品国产一区二区三区不卡| 91丝袜高跟美女视频| 欧美写真视频网站| 欧美一区二区精品在线| 精品国产sm最大网站免费看| 久久久亚洲精品石原莉奈| 国产精品麻豆久久久| 一区二区三区不卡视频在线观看| 一区二区三区蜜桃网| 日韩av一级电影| 国产盗摄一区二区三区| 色呦呦日韩精品| 日韩欧美成人一区| 亚洲国产精品传媒在线观看| 亚洲精品中文在线观看| 青青草国产精品亚洲专区无| 国产精品中文字幕一区二区三区| 一本到不卡免费一区二区| 欧美丰满一区二区免费视频| 国产亚洲成年网址在线观看| 亚洲中国最大av网站| 国产精品自拍网站| 欧美视频你懂的| 国产亚洲精品中文字幕| 亚洲一区二区三区小说| 国产麻豆欧美日韩一区| 色哦色哦哦色天天综合| 久久久久久久久久久黄色| 亚洲一区二区三区四区不卡| 国产激情一区二区三区四区| 欧美日韩高清一区二区不卡 | 欧美探花视频资源| 国产精品免费aⅴ片在线观看| 日韩中文字幕不卡| 日本精品一级二级|