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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fpgrowth.cpp.bak

?? 本人收集了一些關于關聯規則算法的小程序,供大家參考,不足之處,請大家提出寶貴意見,謝謝
?? BAK
?? 第 1 頁 / 共 2 頁
字號:
			}		}		ancestorNode = ancestorNode->parent;	}	q_sortA(indexList, freqItemP, 0, count-1, count);	path = 0;	/* Insert the frequent items to the temp FP-tree.	 */	insert_tree(&(freqItemP[0]), &(indexList[0]), aNode->count, 0, count, *conRoot, *conHeader, &path);	aNode = aNode->hlink; } free(freqItemP); free(indexList); return;}void gentempPatternTree(int *pattern, int baseSize, int patternSupport,				int *conLargeItem, int *conLargeItemSupport, FPTreeNode T,				int headerIndex, int headerSize, FPTreeNode *headerTableLink){ int conHeaderSize; FPTreeNode *conHeader; FPTreeNode conRoot; FPTreeNode aNode, ancestorNode; int j; for (j=0; j < headerSize; j++)	conLargeItemSupport[j] = 0; aNode = headerTableLink[headerIndex]; conHeaderSize = 0; while (aNode != NULL) {	ancestorNode = aNode->parent; 	while (ancestorNode != T) {		for (j=0; j < headerSize; j++) {			if (ancestorNode->item == headerTableLink[j]->item) {				/* Increment the temp support count 				 * for this ancestor item    				 */				conLargeItemSupport[j] += aNode->count;  				if ((conLargeItemSupport[j] >= threshold) &&				   (conLargeItemSupport[j] - aNode->count < 					threshold)) {					/* Add the ancestor item to the temp pattern base,					 * and update the number of items in the					 * temp header table 					 */					conLargeItem[j] = ancestorNode->item;					conHeaderSize++;					}				break;			}		}		ancestorNode = ancestorNode->parent;	}	/* Next node of the FP-tree containing the base item	 */	aNode = aNode->hlink; } q_sortD(conLargeItemSupport, conLargeItem, 0, headerSize-1, headerSize); /* Generate the temp FP-tree and mine recursively   */ if (conHeaderSize > 0) {	/* Build temp FP-tree 	 */	buildtemptree(&conRoot, &conHeader, conHeaderSize, conLargeItem, conLargeItemSupport, 			T, headerTableLink, headerIndex, headerSize);	/* Mining 	 */	FPgrowth(conRoot, conHeader, conHeaderSize, pattern, baseSize+1); 	free(conHeader); 	destroyTree(conRoot); } return;}void FPgrowth(FPTreeNode T, FPTreeNode *headerTableLink, int headerSize, int *baseItems, int baseSize){ int count; int i, j; int *pattern; int patternSupport; FPTreeNode aNode = NULL; int *conLargeItem; int *conLargeItemSupport; if (baseSize >= realK) return; if (T == NULL) return; conLargeItem = (int *) malloc (sizeof(int) * headerSize); conLargeItemSupport = (int *) malloc (sizeof(int) * headerSize); if ((conLargeItem == NULL) || (conLargeItemSupport == NULL)) {	printf("out of memory\n");	exit(1); } if (T->numPath == 1) {	/* Case 1: Single Path */	count = 0;	if (T->children != NULL) aNode = T->children->node;	/* Visit the path in top-down manner, and store the items and count values 	 */	while (aNode != NULL) {		conLargeItem[count] = aNode->item;		conLargeItemSupport[count] = aNode->count;		count++;		if (aNode->children != NULL)			aNode = aNode->children->node;		else	aNode = NULL;	}	combine(conLargeItem, conLargeItemSupport, 0, count, baseItems, baseSize);	/*zzz*/	free(conLargeItem);	free(conLargeItemSupport); } else {	/* Multiple Path */	pattern = (int *) malloc (sizeof(int) * (baseSize + 1));	if (pattern == NULL) {		printf("out of memory\n");		exit(1);	}	for (i=0; i < headerSize; i++) {		/* Add the item to the base of its temp FP-tree		 */		pattern[0] = headerTableLink[i]->item;		/* Add the base of T to the base of the temp FP-tree		 */		for (j=0; j < baseSize; j++) {			pattern[j+1] = baseItems[j];		}		aNode = headerTableLink[i];		patternSupport = 0;		/* Count the support of the base of the temp FP-tree		 */		while (aNode != NULL) {			patternSupport += aNode->count;			aNode = aNode->hlink;		}    	addToLargeList(pattern, patternSupport, baseSize);		/* Find frquent items, build temp FP-tree and perform mining.		 */		gentempPatternTree(pattern, baseSize, patternSupport,				conLargeItem, conLargeItemSupport, T,i, headerSize, headerTableLink);		  }	free(pattern);	free(conLargeItem);	free(conLargeItemSupport); } return;}void pass1(){ int transSize; int item; int maxSize=0; FILE *fp; int i, j,readcnt,temp; ifstream in(dataFile); char str[255];  char cID[6]; /* Initialize the 1-itemsets list and support list */ support1 = (int *) malloc (sizeof(int) * numItem); largeItem1 = (int *) malloc (sizeof(int) * numItem); if ((support1 == NULL) || (largeItem1 == NULL)) {	printf("out of memory\n");	exit(1); } for (i=0; i < numItem; i++) { 	support1[i] = 0;	largeItem1[i] = i; } /* scan DB to count the frequency of each item */while(!in.eof())									{		in.getline(str,sizeof(str));		memset(cID, 0, 6);		readcnt=0;				for(i=0;i<sizeof(str);i++)		{			if (str[i]==' '||str[i]==',')			{				temp=atoi(cID);				memset(cID, 0, 6);				readcnt=0;				item=temp;				support1[item]++;			}			else				{				cID[readcnt]=str[i];				readcnt++;			}		}	} in.close();/***/ /*for(i=0;i<=numItem;i++)	 support1[i]=0; */ realK = expectedK; if ((maxSize < expectedK) || (expectedK <= 0))	realK = maxSize; printf("max transaction sizes = %d\n", maxSize); printf("max itemset size (K_max) to be mined  = %d\n", realK); /* Initialize large k-itemset resulting list and corresponding support list */ largeItemset = (LargeItemPtr *) malloc (sizeof(LargeItemPtr) * realK);  numLarge = (int *) malloc (sizeof(int) * realK); if ((largeItemset == NULL) || (numLarge == NULL)) {	printf("out of memory\n");	exit(1); } for (i=0; i < realK; i++)  {	largeItemset[i] = NULL;	numLarge[i] = 0; } /* Sort the supports of 1-itemsets in descending order */ q_sortD(&(support1[0]), largeItem1, 0, numItem-1, numItem); /* for (i=0; i < numItem; i++)  	printf("%d[%d] ", largeItem1[i], support1[i]); printf("\n"); */ numLarge[0] = 0; while ((numLarge[0] < numItem) && (support1[numLarge[0]] >= threshold))	(numLarge[0])++; printf("\nNo. of large 1-itemsets (numLarge[0]) = %d\n", numLarge[0]); in.close(); return;}void buildTree(){ int *freqItemP;	/* Store frequent items of a transaction */ int *indexList;	 int count;		/* Number of frequent items in a transaction */ FILE *fp;		/* Pointer to the database file */ int transSize;		/* Transaction size */ int item;		 int path;		 ifstream in(dataFile); char str[255];  char cID[6]; int i,j,m,readcnt,temp; /* Create header table */ headerTableLink = (FPTreeNode *) malloc (sizeof(FPTreeNode) * numLarge[0]); if (headerTableLink == NULL) {	printf("out of memory\n");	exit(1); } for (i=0; i < numLarge[0]; i++)	headerTableLink[i] = NULL;	 /* Create root of the FP-tree */ root = (FPTreeNode) malloc (sizeof(FPNode)); if (root == NULL) {	printf("out of memory\n");	exit(1); } /* Initialize the root node */ root->numPath = 1; root->parent = NULL; root->children = NULL; root->hlink = NULL; /* Create freqItemP to store frequent items of a transaction */ freqItemP = (int *) malloc (sizeof(int) * numItem); if (freqItemP == NULL) {	printf("out of memory\n");	exit(1); }	 indexList = (int *) malloc (sizeof(int) * numItem); if (indexList == NULL) {	printf("out of memory\n");	exit(1); }	for(m=0;m<=numItem;m++)									{		in.getline(str,sizeof(str));		memset(cID, '\0', 6);		readcnt=0;		count=0;		path=0;				for(i=0;i<sizeof(str);i++)		{			if (str[i]==' '||str[i]==',')			{				temp=atoi(cID);				memset(cID, 0, 6);				readcnt=0;				if (readcnt==0) item=temp;				/****/				for (m=0; m < numLarge[0]; m++) {			if (item == largeItem1[m]) {				/* Store the item */				freqItemP[count] = item;				/* Store the position in the large 1-itemset list storing this item */				indexList[count] = m;				count++;				break;			} 		}				/***/			}			else				{				cID[readcnt]=str[i];				readcnt++;			}		}		q_sortA(indexList, freqItemP, 0, count-1, count);	/* Insert the frequent patterns of this transaction to the FP-tree. */	insert_tree(&(freqItemP[0]), &(indexList[0]), 1, 0, count, root, headerTableLink, &path); }  in.close(); free(freqItemP); free(indexList); //free(largeItem1); //free(support1); return;}void displayResult(){ LargeItemPtr aLargeItemset; FILE *fp; int i, j; if ((fp = fopen(outFile, "w")) == NULL) {        printf("Can't open file, %s.\n", outFile);        exit(1); } fprintf(fp, "K_{max} = %d\n\n", realK); for (i=0; i < realK; i++) {		if (numLarge[i] == 0) break;	/* Visit the large (i+1)-itemsets' resulting list */	aLargeItemset = largeItemset[i];	/* print out the large (i+1)-itemsets */	while (aLargeItemset != NULL) {		/* print an (i+1)-itemset */		for (j=0; j <= i; j++) {			printf("%d ", aLargeItemset->itemset[j]);			fprintf(fp, "%d ", aLargeItemset->itemset[j]);		}			printf("[%d]\n", aLargeItemset->support);		fprintf(fp, "[%d]\n", aLargeItemset->support);		aLargeItemset = aLargeItemset->next;	}	printf("\n");	fprintf(fp, "\n"); } fclose(fp); return;}void input(){ FILE *fp; float thresholdDecimal; 	expectedK=10;	thresholdDecimal=0.5;	numItem=4;	numTrans=6;	correlate=0.5;	dataFile="inputFile";	outFile="resultFile";	threshold = thresholdDecimal * numTrans;	 printf("expectedK = %d\n", expectedK); printf("thresholdDecimal = %f\n", thresholdDecimal); printf("numItem = %d\n", numItem); printf("numTrans = %d\n", numTrans); printf("dataFile = %s\n", dataFile); printf("outFile = %s\n\n", outFile); threshold = thresholdDecimal * numTrans; if (threshold == 0) threshold = 1; printf("threshold = %d\n", threshold); printf("correlate = %f\n",correlate);	return;}void main(int argc, char *argv[]){  int headerTableSize;  /* print parameters --*/ printf("Status\n"); input(); /* Mine 1-itemsets -*/ printf("\nsucceed\n"); pass1();  if (numLarge[0] > 0) {	/* create FP-tree --*/ 	printf("\nbuildTree\n"); 	buildTree();	/* mining frequent patterns -*/ 	headerTableSize = numLarge[0];	numLarge[0] = 0; 	FPgrowth(root, headerTableLink, headerTableSize, NULL, 0); 	/* output result*/ 	printf("\nresult\n"); 	displayResult(); 	/* output execution time */ 	printf("time:\n"); 	 } /* free memory */ printf("\ndestroy\n");  destroy();  getchar(); free(largeItem1); free(support1); return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人影院在线观看网| av一区二区不卡| 国产福利91精品一区二区三区| 成人精品免费看| 欧美一级理论性理论a| 亚洲欧美成人一区二区三区| 黄一区二区三区| 欧美剧在线免费观看网站| 国产精品女同一区二区三区| 免费人成在线不卡| 在线影视一区二区三区| 国产精品久久久久影院亚瑟 | 91麻豆免费观看| 久久午夜国产精品| 欧美a级一区二区| 欧美高清性hdvideosex| 一区二区国产视频| 成人高清免费观看| 国产三级一区二区| 久久99久久久欧美国产| 欧美精品v国产精品v日韩精品| 亚洲美女视频一区| 91老师片黄在线观看| 中文字幕不卡一区| 懂色av一区二区夜夜嗨| 国产日韩在线不卡| 国产精品一二三四区| 精品久久一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品国产一区二区亚洲人成毛片| 五月天欧美精品| 欧美军同video69gay| 亚洲成av人片在线观看无码| 在线欧美小视频| 亚洲成人综合在线| 欧美久久久久久蜜桃| 视频一区欧美精品| 日韩免费一区二区三区在线播放| 麻豆极品一区二区三区| 久久综合视频网| 成人在线一区二区三区| 中文字幕在线不卡一区| 99久久精品免费看国产免费软件| 亚洲三级视频在线观看| 在线视频欧美精品| 青青青伊人色综合久久| 欧美精品一区二区三区四区| 国产精品综合视频| 国产精品久久久一本精品| 一本色道久久综合精品竹菊| 午夜一区二区三区视频| 日韩欧美一区二区在线视频| 国内偷窥港台综合视频在线播放| 国产农村妇女毛片精品久久麻豆| 91在线观看美女| 水野朝阳av一区二区三区| 日韩免费性生活视频播放| 国产成人鲁色资源国产91色综 | 国产亚洲短视频| 99久精品国产| 亚洲成人免费视| 精品国产一二三| 91视频你懂的| 免费日韩伦理电影| 国产精品人妖ts系列视频| 欧美视频一区在线| 国产精品中文字幕日韩精品 | 国产精品一区不卡| 亚洲三级在线免费| 精品欧美久久久| 91啪在线观看| 久久精品国产一区二区三 | 国产精品不卡一区二区三区| 欧美午夜精品理论片a级按摩| 久久超碰97人人做人人爱| 亚洲三级久久久| 日韩免费观看2025年上映的电影 | 亚洲免费观看高清完整版在线 | 成人小视频免费观看| 亚洲成a人v欧美综合天堂 | 午夜欧美电影在线观看| 国产婷婷精品av在线| 中文字幕乱码日本亚洲一区二区 | 久久综合狠狠综合久久综合88| 91社区在线播放| 国产一区不卡精品| 亚洲国产日产av| 一区精品在线播放| 国产亚洲成av人在线观看导航| 欧美日韩亚洲另类| 91浏览器在线视频| 国产69精品久久777的优势| 美女视频一区在线观看| 亚洲一区自拍偷拍| 国产精品电影院| 国产亚洲精品aa| 久久中文娱乐网| 日韩午夜电影在线观看| 欧美亚洲国产bt| 一本在线高清不卡dvd| 成人免费视频一区| 国产高清精品在线| 极品少妇xxxx精品少妇偷拍| 日韩精品福利网| 亚洲成人综合视频| 五月天中文字幕一区二区| 亚洲综合色婷婷| 亚洲欧美日韩综合aⅴ视频| 亚洲欧洲精品天堂一级| 国产精品免费视频网站| 国产精品久久久久久户外露出 | 亚洲成人自拍偷拍| 亚洲精品国产视频| 亚洲黄色小视频| 亚洲视频一二三区| 亚洲精品免费在线| 亚洲一区二三区| 亚洲国产人成综合网站| 污片在线观看一区二区| 日韩av一二三| 美女久久久精品| 精品影院一区二区久久久| 国产麻豆精品一区二区| 国产精品一区在线| 成人av资源在线观看| 色综合天天狠狠| 欧美片在线播放| 日韩三级高清在线| 国产无遮挡一区二区三区毛片日本| 久久久91精品国产一区二区三区| 久久久综合激的五月天| 国产三级精品视频| 亚洲人吸女人奶水| 五月婷婷久久丁香| 精品亚洲aⅴ乱码一区二区三区| 激情av综合网| 91视频免费播放| 欧美高清www午色夜在线视频| 精品少妇一区二区三区免费观看| 国产日韩在线不卡| 夜夜嗨av一区二区三区网页| 日本中文一区二区三区| 国产精品中文有码| 在线免费观看日本欧美| 精品久久人人做人人爽| 国产精品麻豆一区二区| 亚洲成人免费在线观看| 国产精品亚洲人在线观看| 97久久超碰国产精品| 欧美一级片免费看| 国产精品成人午夜| 美国毛片一区二区三区| 国产精品一区二区三区乱码| 精品免费国产一区二区三区四区| 国产精品美女一区二区| 视频精品一区二区| 北条麻妃一区二区三区| 欧美军同video69gay| 国产精品久久久久久久久久久免费看| 亚洲国产日韩在线一区模特| 国产一区二区三区高清播放| 欧美视频日韩视频| 国产精品免费av| 奇米777欧美一区二区| 91美女片黄在线观看| 国产亚洲人成网站| 日本在线不卡视频| 99久久国产综合精品色伊| 精品久久久网站| 日韩福利电影在线| 色综合激情久久| 国产精品久久久久久久久图文区| 蜜桃91丨九色丨蝌蚪91桃色| 欧美亚洲综合另类| 国产精品毛片久久久久久| 九一九一国产精品| 6080午夜不卡| 亚洲一区二区三区免费视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲成人激情av| 亚洲欧美日本在线| 日本视频中文字幕一区二区三区| 91小视频免费观看| 国产亚洲一区二区在线观看| 日韩高清在线不卡| 色综合久久久久久久| 日韩一区欧美一区| 成人在线视频一区| 国产精品视频在线看| 狠狠久久亚洲欧美| 欧美成人a在线| 韩国成人在线视频| 精品国产一区二区三区忘忧草| 麻豆视频一区二区| 日韩免费视频一区| 国产一区啦啦啦在线观看| 2014亚洲片线观看视频免费| 国产美女在线观看一区| 久久在线免费观看| 丁香婷婷综合五月|