資源簡介
全套的GSP源代碼。。
希望有用的朋友下載使用。

代碼片段和文件信息
//?gspdm2.cpp?:?Defines?the?entry?point?for?the?console?application.
//
//
/*
Input?parameters:?
./GSP?-i??
-t?
-sequNUM?
-eventNUM?
-min?
-max?
??Example:
??./GSP??-i?seq.txt??-t?0.2?sequNUM?10000?–eventNUM?600?–min?0?–max?3
*/
/*
輸入文件格式
seqnum?eventnum?e1?e2?e3?e4.....
1 5 a a?b?c a?c d e?f
2 4 a?d c b?c a?e
3 5 e?f a?b d?f c b
4 6 e g a?f c b c
不同時間事件之間用tab隔開,同一時間事件用空格隔開
*/
#include?“stdafx.h“
#include?“gspdm2.h“
#include?
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?The?one?and?only?application?object
CWinApp?theApp;
using?namespace?std;
#define??ReadLen?(1<<24)
struct?GSP_Parameter
{
CString?infile;
int?totalseqtotalevent;
int?maxmin;
double?minsup;
}gsp;
void?ShowHelp(){
printf(“%s\n““./GSP?-i?“);
printf(“%s\n““-t?“);
printf(“%s\n““-sequNUM?“);
printf(“%s\n““-eventNUM?“);
printf(“%s\n““-min?“);
printf(“%s\n““-max?“);
printf(“%s\n““??Example:“);
printf(“%s\n““??./GSP??-i?seq.txt??-t?0.2?-sequNUM?10000?–eventNUM?600?–min?0?–max?3“);
}
BOOL?CheckPrameter(){
DWORD?fa?=?::GetFileAttributes(gsp.infile);
if?(fa?==?-1) {
printf(“can?not?find?file:%s!\n“gsp.infile);
return?FALSE;
}
if?(gsp.minsup?<=0?||?gsp.minsup>1.0) {
printf(“minsup?must?between?0.0--1.0“);
return?FALSE;
}
if?(gsp.totalseq?0?) {
printf(“totalseq?must?>?0“);
return?FALSE;
}
if?(gsp.totalevent?0) {
printf(“totalevent?must?>?0“);
return?FALSE;
}
if?(gsp.max?0?||?gsp.min?0?||?gsp.max printf(“please?check?minmax?make?sure?max>=min?min>=0max>=0“);
return?FALSE;
}
printf(“\n“);
return?TRUE;
}
void?ShowPrameter(){
printf(“file:%s\nminsupport:%f\ntotal?sequnum:%d\n“
gsp.infilegsp.minsupgsp.totalseq);
printf(“total?distinct?event:%d\nmin_interval:%d\nmax_interval:%d\n“
gsp.totaleventgsp.mingsp.max);
}
struct?EventData{
unsigned?short?eTime;
unsigned?short?eNumber;
};
struct?SequData{
EventData?*pfirst;
int?nCount;
};
struct?Candidate
{
int?*pindex;
int?count;
};
int?getline(char*?pint?lenCString&?out){//會讀入破壞數(shù)據(jù)!!
int?nStart=-1;
out?=““;
for?(int?i=0;i {
if?(p[i]>=‘0‘?&&?p[i]<=‘9‘)
{
nStart=i;
break;
}
}
for?(i=i+1;i {
if?(p[i]==‘\r‘?||?p[i]==‘\n‘?||?p[i]==‘\0‘)
{
p[i]=0;
out?=?p+nStart;
return?i;//offset
}
}
return?nStart;
}
int?matchstr(CStringArray?*pcaCString?source){
int?num=0;
int?n?=?pca->GetSize();
for?(int?i=0;i {
if?(pca->GetAt(i)?==?source)
{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????243??2010-11-01?22:09??gspdm21\gspdm2.clw
?????文件??????13246??2010-11-16?20:29??gspdm21\gspdm2.cpp
?????文件???????4302??2010-11-10?20:35??gspdm21\gspdm2.dsp
?????文件????????537??2010-11-01?22:09??gspdm21\gspdm2.dsw
?????文件????????326??2010-11-01?22:09??gspdm21\gspdm2.h
?????文件??????50176??2010-11-16?20:29??gspdm21\gspdm2.ncb
?????文件??????49664??2010-11-16?20:29??gspdm21\gspdm2.opt
?????文件???????1210??2010-11-16?20:29??gspdm21\gspdm2.plg
?????文件???????1457??2010-11-01?22:09??gspdm21\gspdm2.rc
?????文件???????1605??2010-11-01?22:09??gspdm21\ReadMe.txt
?????文件??????24576??2010-11-16?20:29??gspdm21\Release\gspdm2.exe
?????文件??????24195??2010-11-16?20:29??gspdm21\Release\gspdm2.obj
?????文件????7820504??2010-11-11?14:48??gspdm21\Release\gspdm2.pch
?????文件????????128??2010-11-11?14:48??gspdm21\Release\gspdm2.res
?????文件???????3153??2010-11-11?14:48??gspdm21\Release\StdAfx.obj
?????文件??????50176??2010-11-16?20:29??gspdm21\Release\vc60.idb
?????文件????????447??2010-11-01?22:09??gspdm21\Resource.h
?????文件????????293??2010-11-01?22:09??gspdm21\StdAfx.cpp
?????文件???????1106??2010-11-01?22:09??gspdm21\StdAfx.h
?????文件?????????80??2010-11-10?17:54??test.txt
?????目錄??????????0??2010-11-16?20:30??gspdm21\Release
?????目錄??????????0??2010-11-16?20:30??gspdm21
?????文件?????108544??2010-11-16?20:34??序列模式分析算法GSP程序報告.doc
-----------?---------??----------?-----??----
??????????????8155968????????????????????23
評論
共有 條評論