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

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

?? dffast.cc

?? 數(shù)據(jù)挖掘/機器學(xué)習(xí)Apriori的深度優(yōu)先算法。 編譯方法:g++ -Wall -O3 -o fim_all dffast.
?? CC
?? 第 1 頁 / 共 2 頁
字號:
//// C++ program that finds frequent itemsets - file dffast.cc// December 12, 2003// Wim Pijls and Walter Kosters// Erasmus University Rotterdam and Leiden University, The Netherlands// pijls@few.eur.nl and kosters@liacs.nl// http://www.liacs.nl/home/kosters/df///// makefile: g++ -Wall -O3 -o fim_all dffast.cc//// Assume that the relevant database and the trie containing all frequent// sets together fit in main memory; relevant here means: all transactions// that contain at least 2 frequent items (the so-called relevant// transactions), whereas only frequent items are considered. Every byte // contains 8 bits of the database. So its size is the number of // frequent items times the number of relevant transactions divided by 8.//// The data is read four times:// 1. to find minimal and maximal item number that occurs// 2. to determine the frequencies of the single item numbers// 3. to find the relevant transactions (containing at least 2 frequent items)// 4. to store the (relevant) database in main memory//// Several (time) printing commands are commented out with ////// This version (dffast.cc) replaces previous versions dfmemory.cc// and dftime.cc; main difference: memory management is improved// in order to avoid unnecessary allocations, which makes different// memory/time efficient versions obsolete.// Runtimes are comparable with those of its predecessors// // name inputfile:#define input_filename argv[1]// (absolute) value of minsup:#define macro_minsup atoi(argv[2])// name outputfile:#define output_filename argv[3]#include <iostream>#include <fstream>#include <cstdio>#include <cstdlib>#include <ctime>using namespace std;typedef char *transaction;const int MAXDEPTH = 100; // maximal depth of trie (for printing)int minsup;               // minimum supportint therow;               // number of currect transactiontransaction globpointer;  // current transactiontransaction *dataset;     // the whole databasechar vector[8];           // masks for fastchar *supervector;        //   array addressingclass initialcounts{  public:    initialcounts (char *inputdata);    static int *itemsorder;    static int *items_frequency;    static short *ranking;    static int min_itemnr, max_itemnr;    static int number_transactions, number_freq_items, lines;  private:    void first_pass ( );    void second_pass ( );    void third_pass ( );    void initialsort ( );    char *infilename;    int *init_items_frequency;};class data_array{  public:    data_array (char *inputdata);  private:    char *next_transaction;    void inputread (char *inputdata);};struct bucket{  short itemvalue;  int count;  int aux;  // if 2-itemsets have support < 60000, change  // "int" into "unsigned short" (twice)  short number_followers;  struct bucket *next;};void count (bucket *trienode, short number_buckets);// does currect transaction (globpointer) contain item "column"?inline int inspect (int column){  return ( ( globpointer[column >> 3] & supervector[column] ) );}//inspectclass trie{  public:    trie ( ) { };    trie (initialcounts & initialdata, data_array & datagrid);    void build_up ( );    void printtrie (char *outputdata);  private:    int length_count[MAXDEPTH];    void extend (int k);    void makeaux0 (bucket *root, int number);    FILE *outfilename;    struct bucket *root;    int triesize;    int results[MAXDEPTH];    void copying (struct bucket *p, struct bucket *q, int number_q_buckets);    void printout (int depth, struct bucket *trienode, int number_buckets);};int *initialcounts::items_frequency = NULL;short *initialcounts::ranking = NULL;int *initialcounts::itemsorder = NULL;int initialcounts::number_transactions = 0;int initialcounts::lines = 0;int initialcounts::number_freq_items = 0;int initialcounts::min_itemnr = 0;int initialcounts::max_itemnr = 0;// constructorinitialcounts::initialcounts (char *inputdata){  infilename = inputdata;  first_pass ( );  second_pass ( );  third_pass ( );  initialsort ( );}//initialcounts::initialcounts// computes minimal and maximal item number that occur in the database;// if these are known in advance, this function can be easily adapted// function reads whole file!void initialcounts::first_pass ( ){  int itemnr;  bool first = true;  ifstream fin (infilename);  if ( ! fin )     cout << "No such filename" << endl;  char c;   int pos;  do {    do {      fin.get (c);      itemnr = 0;      pos = 0;      while ( ( c >= '0' ) && ( c <= '9' ) && ! fin.eof ( ) )      {        itemnr = 10*itemnr + (int)(c) - (int)('0');        pos++;        fin.get (c);      }//while      if ( pos ) {	if ( first )          max_itemnr = min_itemnr = itemnr;	first = false;        if ( itemnr < min_itemnr )          min_itemnr = itemnr;        else if ( itemnr > max_itemnr )          max_itemnr = itemnr;      }//if    } while ( c != '\n' && ! fin.eof ( ) );  } while ( ! fin.eof ( ) );  fin.close ( );}//initialcounts::first_pass// determines frequency for all items, and number of frequent items// function reads whole file!void initialcounts::second_pass ( ){  int k;  ifstream fin (infilename);  if ( ! fin )     cout << "No such filename" << endl;  int itemrange = max_itemnr-min_itemnr+1;  init_items_frequency = new int[itemrange];  for ( k = 0; k < itemrange; k++ )     init_items_frequency[k] = 0;  char c;   int item, pos;  do {    do	{      fin.get (c);      item = 0;      pos = 0;      while ( ( c >= '0' ) && ( c <= '9' ) && ! fin.eof ( ) )      {        item = 10*item + (int)(c) - (int)('0');        pos++;        fin.get (c);      }//while      if ( pos )        init_items_frequency[item-min_itemnr]++;    } while ( c != '\n' && ! fin.eof ( ) );  } while ( ! fin.eof ( ) );  fin.close ( );  for ( k = 0; k < itemrange; k++ )    if ( init_items_frequency[k] >= minsup )      number_freq_items++;//  printf ("Number of frequent items: %d\n", number_freq_items);}//initialcounts::second_pass// determines number of relevant transactions, i.e., those// that contain at least two frequent items// (those that contain one frequent item have already been accounted for// while determining the frequency of the single items)// function reads whole file!void initialcounts::third_pass ( ){  number_transactions = 0;  ifstream fin (infilename);  if ( ! fin )     cout << "No such filename" << endl;  char c;  int item, pos, items_in_trans;  bool line;  do {      line = false;    items_in_trans = 0;    do {      fin.get (c);      item = 0;      pos = 0;      while ( ( c >= '0' ) && ( c <= '9' ) && ! fin.eof ( ) )      {        item = 10*item + (int)(c) - (int)('0');        pos++;        line = true;        fin.get (c);      }//while      if ( pos && init_items_frequency[item-min_itemnr] >= minsup )        items_in_trans++;    } while ( c != '\n' && ! fin.eof ( ) );    if ( line )       lines++;    if ( items_in_trans >= 2 )       number_transactions++;  } while ( ! fin.eof ( ) );//  printf ("Number of relevant transactions: %d\n", number_transactions);//  printf ("Number of lines: %d\n", lines);  fin.close ( );}//initialcounts::third_pass// sort items with respect to support - and renumbervoid initialcounts::initialsort ( ){  int left_cursor = 0;  int right_cursor = max_itemnr-min_itemnr;  int itemrange = right_cursor+1;  int *items_numbers;  int i, j, k;  items_numbers = new int[number_freq_items];  for ( k = 0; k < number_freq_items; k++ )    items_numbers[k] = k;  while ( left_cursor < right_cursor )  {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色美美综合视频| 国产精品美女久久久久aⅴ国产馆| 91精品国产91久久综合桃花 | 亚洲精品在线观看网站| 自拍偷拍国产精品| 激情久久五月天| 日本久久一区二区三区| 视频一区国产视频| 成人app软件下载大全免费| 欧美一区二区三区四区久久| 亚洲欧洲成人自拍| 国产成人精品一区二区三区网站观看| 欧美色图免费看| 亚洲图片另类小说| 丁香天五香天堂综合| 欧美白人最猛性xxxxx69交| 亚洲成人精品一区二区| 91网站最新网址| 国产午夜亚洲精品不卡| 激情图片小说一区| 日韩欧美激情在线| 麻豆国产一区二区| 5566中文字幕一区二区电影| 亚洲午夜av在线| 在线观看av一区| 亚洲欧美日韩国产一区二区三区 | 亚洲国产一区二区a毛片| 丁香另类激情小说| 国产偷国产偷精品高清尤物 | 亚洲成a人在线观看| 色综合色综合色综合色综合色综合| 国产日韩欧美不卡在线| 国产美女精品一区二区三区| 日韩精品一区二区三区四区视频| 手机精品视频在线观看| 91精品国产欧美日韩| 日韩福利视频导航| 日韩一区二区在线观看视频播放| 日韩av网站在线观看| 在线播放中文字幕一区| 日韩不卡一二三区| 日韩美一区二区三区| 久久电影国产免费久久电影 | 麻豆中文一区二区| 精品动漫一区二区三区在线观看| 日本不卡免费在线视频| 日韩精品一区二区三区视频 | 一区二区三区四区高清精品免费观看| zzijzzij亚洲日本少妇熟睡| 成人欧美一区二区三区小说 | 555www色欧美视频| 九九国产精品视频| 欧美激情综合五月色丁香| 色综合色综合色综合色综合色综合| 伊人一区二区三区| 日韩三级在线免费观看| 国产精品1区2区| 一区二区三区国产精华| 日韩免费高清视频| 成人国产视频在线观看| 亚洲国产精品尤物yw在线观看| 日韩一区二区视频在线观看| 成人综合婷婷国产精品久久蜜臀| 日韩美女精品在线| 91精品国产福利在线观看| 丁香婷婷综合五月| 亚洲国产精品影院| 国产丝袜美腿一区二区三区| 一本大道av伊人久久综合| 日本在线播放一区二区三区| 欧美国产一区视频在线观看| 欧美少妇bbb| 成人一区二区三区| 日韩综合一区二区| 国产精品二三区| 欧美一激情一区二区三区| 成人视屏免费看| 日本免费新一区视频| 国产精品嫩草久久久久| 在线综合视频播放| 色综合色狠狠天天综合色| 久久99精品一区二区三区三区| 亚洲人成精品久久久久久| 欧美精品一区二区三区四区| 欧美在线你懂得| 成人黄页毛片网站| 久久精品国产澳门| 亚洲国产精品一区二区www在线| 欧美国产精品劲爆| 精品裸体舞一区二区三区| 在线观看亚洲一区| 成人国产精品免费网站| 久久国产成人午夜av影院| 亚洲高清免费视频| 亚洲精品v日韩精品| 中文字幕久久午夜不卡| 精品国产乱码久久久久久久久| 欧美天堂一区二区三区| 91老师片黄在线观看| 国产成人精品aa毛片| 久久99久久久欧美国产| 无吗不卡中文字幕| 亚洲午夜久久久久久久久久久| 亚洲国产经典视频| 欧美激情在线看| 久久精品视频一区二区| 欧美精品一区二区三区蜜桃| 日韩午夜激情电影| 91精品国产手机| 欧美一区二区三区四区久久| 777xxx欧美| 欧美一区二区性放荡片| 91麻豆精品国产91| 337p亚洲精品色噜噜| 678五月天丁香亚洲综合网| 欧美日韩精品三区| 欧美日韩成人高清| 日韩一区二区在线观看| 日韩精品一区二区三区四区| 日韩欧美黄色影院| 欧美精品一区男女天堂| 久久久午夜电影| 日本一区二区免费在线观看视频| 国产人伦精品一区二区| 欧美国产一区二区| 亚洲欧美一区二区三区国产精品| 亚洲色图一区二区| 亚洲一二三四区| 三级在线观看一区二区| 久久精品免费看| 大尺度一区二区| 91美女在线看| 欧美日韩精品一区二区天天拍小说 | 色妹子一区二区| 欧美精品第一页| 精品国产乱子伦一区| 国产精品久久久久久久蜜臀| 亚洲美女免费视频| 日av在线不卡| 不卡一区在线观看| 欧美色图12p| 久久网站热最新地址| 日韩美女视频一区二区| 婷婷久久综合九色综合伊人色| 久久草av在线| 色欧美88888久久久久久影院| 欧美剧情片在线观看| 精品少妇一区二区三区视频免付费 | 一卡二卡三卡日韩欧美| 麻豆传媒一区二区三区| 成人免费的视频| 欧美伦理影视网| 国产欧美日韩精品一区| 亚洲曰韩产成在线| 国产一区二区三区日韩| 日本韩国欧美国产| 欧美精品一区二区在线观看| 亚洲精品国产一区二区三区四区在线| 日韩在线观看一区二区| 99精品欧美一区二区三区小说| 91精品视频网| 亚洲精品伦理在线| 国产一区二区免费视频| 欧美天天综合网| 国产精品色哟哟| 免费成人你懂的| 欧美日韩亚洲另类| 日本一二三不卡| 九九在线精品视频| 欧美日韩免费在线视频| 中文字幕一区在线观看视频| 精品一区二区三区免费观看 | 国产在线国偷精品免费看| 色婷婷久久久久swag精品| 久久久久久日产精品| 午夜a成v人精品| 91传媒视频在线播放| 中文字幕中文乱码欧美一区二区| 久久国产综合精品| 欧美高清视频不卡网| 亚洲天堂成人网| 波波电影院一区二区三区| 久久久久免费观看| 久久99精品一区二区三区三区| 欧美日韩日本视频| 亚洲综合色区另类av| 91在线国产观看| 国产精品嫩草久久久久| 国产91富婆露脸刺激对白| 精品久久久久久无| 伦理电影国产精品| 91精品国产91综合久久蜜臀| 亚洲成人第一页| 精品视频在线看| 午夜伊人狠狠久久| 欧美日韩在线播放一区| 亚洲午夜精品网| 欧美二区在线观看| 偷拍亚洲欧洲综合| 91精品国产91热久久久做人人|