itemheadertable.h

来自「用data miming技术进行false prediction」· C头文件 代码 · 共 57 行

H
57
字号
#ifndef ITEMHEADERTABLE_H
#define ITEMHEADERTABLE_H

#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

#include "boost/functional/hash.hpp"
#include "boost/functional/hash/map.hpp"

#include "AppException.h"
#include "ItemInfo.h"
#include "Item.h"
#include "FrequentItemset.h"

typedef map<const size_t, ItemInfo* , ltstr> hashMap;
typedef map<const size_t, FrequentItemset* , ltstr> fiHashMap;

using namespace std;
using namespace boost;

class ItemHeaderTable {
    friend ostream& operator<<(ostream& os, const ItemHeaderTable& iht);

    public:
        ItemHeaderTable(fiHashMap* fiMap);
        virtual ~ItemHeaderTable();

        void processNewNode(Node* node) throw (AppException);
        void processNewItem(string name);
        void processNewItem(Item* item);
        void processMinimumSupport();
        hashMap getItemInfoMap() const;
        int getItemCount(string name);
        void processItemHeaderTable(Node* node, string name) throw (AppException);

    protected:


    private:
        hashMap itemInfoMap;
        hash<string> string_hash;
        vector<ItemInfo*>* itemInfoVec;
        fiHashMap* fiMap;
        int getSize() const;
        void pushItemVector(Node* node, vector<vector<Item*>*>* branchVector);
        void processConditionalPattern(string name, vector<vector<Item*>*>* branchVector);
        void processItemVector(vector<Item*>* itemVector);
        void frequencyTrimItemVector(vector<Item*>* itemVector);
        void extractFrequentItemsets(string name, vector<Item*>* itemVector);

};

#endif /* ITEMHEADERTABLE_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?