三.trie類的定義
trie.h:
#include
#include
#include
"trienode.h"
class
trie else else {
(&(___it->second))));
return ___result;
std::string
trie::getkeywords() {
std::string ___result;
for (trienode::_triemapiterator ___it = __emptyroot.__map.begin();
___it != __emptyroot.__map.end(); ++___it) {
return ___result;
std::string
trie::getkeywords(const std::string& character, const
trienode* parent) {
std::string ___result;
for (trienode::_triemapiterator ___it = parent->__map.begin();
___it != parent->__map.end(); ++___it) {
// last character
if (parent->__map.size() == 0) {
__size++;
return ___result;
說明:1.
trienode* trie::insert(trienode* parent, std::string& keyword)即在建立trienode
樹時,以
parent
為根節點建立,一開始
parent
為__emptyroot,
然後把keyword
按照規則新增到樹中,假設一開始
__emptyroot
為空,keyword
為hello
,則會以
hello
為一條分支建立成為一顆樹枝
h->e->l->l->o,
此後,若想再新增
hero
,由於hero
與hello
的前兩個字元相同,則會在
h->e->l->l->o
的基礎上,從字母
e開始新生長出一顆分支,即
h->e->r->o,
這兩顆分支共用
h->e
2.__pace即與編碼方式有關,utf16
編碼,則
__pace為2
,utf8
是變長編碼,不再詳述.
本文參考自michael寫的文章,具體可參考:
C 敏感詞過濾實現方法
這兩天突然想到了敏感詞過濾 就結合網上找到的資料自己寫了乙個,髒字數量700 效率不是很高 測試在110多kb的情況下比replace快 3 4倍 測試結果圖 單位 秒 如下 system.text.stringbuilder sb new system.text.stringbuilder tex...
mysql 敏感詞 PHP實現的敏感詞過濾方法示例
1 敏感詞過濾方法 todo 敏感詞過濾,返回結果 param array list 定義敏感詞一維陣列 param string string 要過濾的內容 return string log 處理結果 function sensitive list,string if count 0 else ...
iOS實現敏感詞的過濾
1.我認為最關鍵的一點 懶。奧!不對!應該是太懶,其實有很多問題都可以通過部落格的形式記錄下來,一方面可以給也遇到該類問題的同伴一種幫助,也可以加深一下自己對一些問題的深入了解和認識。但一直被自己內心的那種慵懶所阻礙著!2.文學水平很差,有的時候在語言的表述上邏輯不夠明了,非常的混亂。也不會使用什麼...