青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 6, 文章 - 0, 評(píng)論 - 24, 引用 - 0
數(shù)據(jù)加載中……

Trie—單詞查找樹

 

Trie—單詞查找樹

l  簡(jiǎn)介

Trie又稱單詞查找樹、前綴樹,是一種哈希樹的變種。應(yīng)用于字符串的統(tǒng)計(jì)與排序,經(jīng)常被搜索引擎系統(tǒng)用于文本詞頻統(tǒng)計(jì)。

含有單詞“tea”“tree”“A”“ZSU”的一棵Trie。

l  性質(zhì)

n  根節(jié)點(diǎn)不包含字符,除根節(jié)點(diǎn)外的每一個(gè)節(jié)點(diǎn)都只包含一個(gè)字符。

n  從根節(jié)點(diǎn)到某一節(jié)點(diǎn),路徑上經(jīng)過(guò)的字符連接起來(lái),為該節(jié)點(diǎn)對(duì)應(yīng)的字符串。

n  每個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn)包含的字符都不相同。

l  優(yōu)點(diǎn)

n  查詢快。對(duì)于長(zhǎng)度為m的鍵值,最壞情況下只需花費(fèi)O(m)的時(shí)間;而BST最壞情況下需要O(m log n)的時(shí)間。

n  當(dāng)存儲(chǔ)大量字符串時(shí),Trie耗費(fèi)的空間較少。因?yàn)殒I值并非顯式存儲(chǔ)的,而是與其他鍵值共享子串。

n  Trie適用于“最長(zhǎng)前綴匹配”。

l  操作

n  初始化或清空

遍歷Trie,刪除所有節(jié)點(diǎn),只保留根節(jié)點(diǎn)。

n  插入字符串

1.     設(shè)置當(dāng)前節(jié)點(diǎn)根節(jié)點(diǎn),設(shè)置當(dāng)前字符為插入字符串中的首個(gè)字符;

2.     當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)上搜索當(dāng)前字符,若存在,則將當(dāng)前節(jié)點(diǎn)設(shè)為值為當(dāng)前字符的子節(jié)點(diǎn);否則新建一個(gè)值為當(dāng)前字符的子節(jié)點(diǎn),并將當(dāng)前結(jié)點(diǎn)設(shè)置為新創(chuàng)建的節(jié)點(diǎn)。.

3.     當(dāng)前字符設(shè)置為串中的下個(gè)字符,若當(dāng)前字符0,則結(jié)束;否則轉(zhuǎn)2.

n  查找字符串

搜索過(guò)程與插入操作類似,當(dāng)字符找不到匹配時(shí)返回假;若全部字符都存在匹配,判斷最終停留的節(jié)點(diǎn)是否為樹葉,若是,則返回真,否則返回假。

n  刪除字符串

首先查找該字符串,邊查詢邊將經(jīng)過(guò)的節(jié)點(diǎn)壓棧,若找不到,則返回假;否則依次判斷棧頂節(jié)點(diǎn)是否為樹葉,若是則刪除該節(jié)點(diǎn),否則返回真。

l 實(shí)現(xiàn)
對(duì)于字符表大小為S的字符串集,需建立一個(gè)S叉樹來(lái)代表這些字符串的集合。

l  代碼

trie.h


l  參考資料

英文維基 http://en.wikipedia.org/wiki/Trie

中文維基 http://zh.wikipedia.org/w/index.php?title=Trie&variant=zh-cn

posted on 2009-03-27 23:51 yuyang7 閱讀(5329) 評(píng)論(5)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)

評(píng)論

# re: Trie—單詞查找樹  回復(fù)  更多評(píng)論   

好,不錯(cuò),呵呵
2009-03-28 15:55 | 中國(guó)福利彩票

# re: Trie—單詞查找樹  回復(fù)  更多評(píng)論   

如果想在磁盤上存儲(chǔ)Trie可以嘛?也許用數(shù)組實(shí)現(xiàn)?
比如說(shuō)詞典的應(yīng)用。用只讀的Trie存儲(chǔ)詞典索引,每個(gè)節(jié)點(diǎn)保存數(shù)據(jù)文件的文件偏移量。要求可以直接從磁盤上用file mapping使用詞典索引。
2009-03-28 22:27 | lxu

# re: Trie—單詞查找樹  回復(fù)  更多評(píng)論   

@lxu
嗯,構(gòu)造雙數(shù)組trie (Double-Array Trie)。
2009-03-28 23:26 | yuyang7

# re: Trie—單詞查找樹  回復(fù)  更多評(píng)論   

謝謝,學(xué)到東西了。
不過(guò)覺(jué)得博主的代碼可以優(yōu)化下,重復(fù)代碼的地方太多。

比如說(shuō)insert的C風(fēng)格部分,我覺(jué)得可以改成,

void insert(const char* str)
{
int size = strlen(str);
insert<char*>(str, str + size);
}
====================================
這樣子可以減少重復(fù)代碼的部分,而且也方便以后修改嘛。

另外,貌似memset(child, 0, sizeof(child))應(yīng)該改成memset(child, 0, size * sizeof(child))
2009-03-31 00:04 | 黃宇

# re: Trie—單詞查找樹[未登錄](méi)  回復(fù)  更多評(píng)論   

同意樓上的第一點(diǎn)意見,實(shí)際上我是先實(shí)現(xiàn)了針對(duì)C風(fēng)格字符串的函數(shù),后來(lái)覺(jué)得有需要對(duì)一段區(qū)間內(nèi)的字符進(jìn)行查找,才添加了針對(duì)迭代器的函數(shù),造成了代碼冗余.
第二點(diǎn)意見我并不認(rèn)同,可能樓上理解偏差了.可能樓上是想說(shuō) memset(child, 0, size * sizeof(tree_node<size>*)  的吧.
2009-03-31 11:32 | yuyang7

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国模大胆一区二区三区| 黄色免费成人| 亚洲午夜一级| 在线亚洲国产精品网站| 国产精品久久一卡二卡| 欧美一区二区三区免费观看| 亚洲欧美日本国产有色| 国产视频欧美视频| 久久亚洲精选| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲私拍自拍| 国产人成精品一区二区三| 久久久国产精品亚洲一区| 久久久久网址| 一区二区三区导航| 午夜精品福利一区二区三区av | 免费在线亚洲欧美| av成人免费在线观看| 亚洲天堂成人| 一区二区视频免费完整版观看| 欧美高清视频在线播放| 欧美精品国产一区| 欧美一区免费视频| 免费av成人在线| 亚洲综合精品自拍| 久久激情五月激情| 一本色道久久综合亚洲精品不卡 | 午夜精品影院| 最新国产の精品合集bt伙计| 99视频精品免费观看| 国产一区二区三区在线观看视频 | 欧美国产先锋| 久久国产日韩欧美| 欧美精品激情在线| 久久精品国产视频| 欧美日韩1区2区| 蜜臀va亚洲va欧美va天堂| 欧美午夜视频网站| 亚洲高清视频一区| 国产美女一区| 中文在线资源观看视频网站免费不卡| 狠狠狠色丁香婷婷综合激情| 一本久久精品一区二区| 在线观看成人av电影| 亚洲影视在线| 99视频日韩| 美女免费视频一区| 久久影院亚洲| 国产日韩欧美高清免费| 中国女人久久久| 一区二区三区免费观看| 免费成人黄色| 欧美成人中文字幕在线| 红桃视频一区| 欧美一区二区三区在线视频| 亚洲欧美自拍偷拍| 国产精品sm| 亚洲视频999| 亚洲综合色丁香婷婷六月图片| 欧美成人一二三| 亚洲福利视频二区| 亚洲动漫精品| 狂野欧美一区| 欧美激情国产高清| 亚洲国产老妈| 欧美黄免费看| 日韩一级大片在线| 中文欧美在线视频| 欧美性事在线| 午夜精品视频一区| 久久久www成人免费毛片麻豆| 国产欧美精品| 久久狠狠亚洲综合| 欧美a一区二区| 亚洲精品1区| 欧美久久一区| 亚洲一区二区三区免费观看 | 美女被久久久| 亚洲国产成人精品久久久国产成人一区| 久久国产免费| 亚洲国产精品一区| 亚洲视频视频在线| 国产精品永久免费在线| 久久精品天堂| 亚洲黄色精品| 亚洲欧美日韩一区二区三区在线观看 | 亚洲自啪免费| 久久女同互慰一区二区三区| 亚洲福利一区| 欧美午夜在线观看| 久久成人免费网| 亚洲电影观看| 亚洲欧美日韩系列| 伊人久久亚洲影院| 欧美精品黄色| 欧美一区国产二区| 亚洲高清一区二| 午夜精品视频网站| 在线日本成人| 欧美亚洲第一页| 久久久久国产一区二区| 亚洲精品九九| 久久综合福利| 亚洲一区二区三区精品在线观看| 国产三区精品| 欧美日韩精品欧美日韩精品一| 亚洲免费视频网站| 亚洲黄一区二区三区| 欧美一区在线看| 亚洲乱码国产乱码精品精天堂| 国产精品家庭影院| 鲁大师影院一区二区三区| 在线一区二区三区四区| 欧美成人高清| 久久精品日韩| 亚洲一区二区三区影院| 亚洲国产成人在线视频| 国产精品专区一| 欧美日本国产一区| 裸体女人亚洲精品一区| 亚洲欧美影音先锋| 亚洲人成啪啪网站| 久久综合狠狠综合久久激情| 亚洲欧美日韩专区| 亚洲精品小视频在线观看| 狠狠色丁香婷婷综合| 国产精品夜色7777狼人| 欧美精品一区在线观看| 欧美1区2区视频| 久久久亚洲国产美女国产盗摄| 午夜精品久久久久| 亚洲在线一区二区三区| 亚洲伦理在线观看| 91久久黄色| 亚洲激情影院| 91久久久一线二线三线品牌| 欧美成年人网| 欧美成人免费全部| 欧美成人影音| 亚洲第一精品久久忘忧草社区| 久久精品五月婷婷| 欧美在线播放一区| 欧美在线视频观看| 久久国产加勒比精品无码| 欧美一区二区视频在线观看2020| 午夜伦理片一区| 欧美亚洲系列| 久久久久欧美| 麻豆精品在线视频| 欧美**人妖| 亚洲国产精品第一区二区三区| 亚洲成人在线网| 亚洲国产美女| 夜夜爽99久久国产综合精品女不卡| 91久久精品日日躁夜夜躁欧美 | 亚洲免费久久| 亚洲日本理论电影| 99精品欧美一区二区三区| 一本不卡影院| 亚洲欧美日韩精品久久久久| 欧美亚洲三级| 麻豆精品在线视频| 欧美另类videos死尸| 国产精品你懂的| 国产一区二区中文字幕免费看| 狠狠色狠狠色综合系列| 亚洲精品看片| 亚洲欧美日韩国产另类专区| 久久久久久久尹人综合网亚洲| 美女被久久久| 亚洲免费观看高清在线观看| 亚洲一区二区三区高清不卡| 久久久国产精品一区二区三区| 欧美激情一区二区在线| 国产精品一区二区你懂得| 精品99一区二区三区| 在线亚洲精品福利网址导航| 欧美一区成人| 亚洲高清资源综合久久精品| 亚洲午夜精品在线| 久久综合国产精品| 国产精品盗摄久久久| 亚洲电影有码| 欧美一区二区三区另类| 亚洲电影欧美电影有声小说| 亚洲自拍啪啪| 欧美激情一区二区久久久| 国产亚洲一二三区| 一区二区高清在线| 免费看亚洲片| 亚洲在线免费观看| 欧美成人国产一区二区| 国产欧美日韩不卡免费| 在线视频精品一| 欧美+亚洲+精品+三区| 亚洲小视频在线观看| 欧美高清视频www夜色资源网| 国内揄拍国内精品少妇国语| 亚洲视频在线观看视频| 亚洲国产mv|