From 6eb200d867fe7fa786b6da08f8de81a532bdc5a8 Mon Sep 17 00:00:00 2001 From: gwdwyy Date: Sat, 6 Jul 2013 12:48:29 +0800 Subject: [PATCH] finished getWeight --- Trie.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Trie.cpp b/Trie.cpp index 17d0c6b..bf563dd 100644 --- a/Trie.cpp +++ b/Trie.cpp @@ -202,9 +202,17 @@ namespace CppJieba return res; } - double getWeight(const ChUnicode* uniStr, size_t len) + double Trie::getWeight(const ChUnicode* uniStr, size_t len) { - + const TrieNodeInfo* p = find(uniStr, len); + if(NULL != p) + { + return p->weight; + } + else + { + return _minWeight; + } } /* @@ -337,8 +345,13 @@ namespace CppJieba //normalize for(size_t i = 0; i < _nodeInfoVec.size(); i++) { - _nodeInfoVec[i].weight = log(double(_nodeInfoVec[i].count)/double(_totalCount)); + TrieNodeInfo& nodeInfo = _nodeInfoVec[i]; + nodeInfo.weight = log(double(nodeInfo.count)/double(_totalCount)); //cout<<_nodeInfoVec[i].weight< nodeInfo.weight) + { + _minWeight = nodeInfo.weight; + } } cout<<_minWeight<