字典树(搬运)

















const int TRIE_WORD_COUNT = 400000;
const int TRIE_WORD_LENGTH = 10;
const int TRIE_NODE_CACHES = TRIE_WORD_COUNT * TRIE_WORD_LENGTH;
// 字典
树类
class TrieTree {
public:
TrieTree(int nodeCacheCount = TRIE_NODE_CACHES);
virtual ~TrieTree();
void initialize() {
nodeId_ = 0;
root_ = genNode();
}
// 接口部分暂时省略
...
private:
int genNode() {
TrieNode *pkNode = &(nodes_[nodeId_]);
pkNode->reset();
return nodeId_++;
}
private:
int nodeId_;
int root_;
TrieNode *nodes_;
};
TrieTree::TrieTree(int nodeCacheCount = TRIE_NODE_CACHES) : nodes_(NULL),
root_(0), nodeId_(0) {
nodes_ = new TrieNode[nodeCacheCount];
}
TrieTree::~TrieTree() {
if (nodes_) {
delete[] nodes_;
}
}












让思维见见世面
浙公网安备 33010602011771号