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

隨筆 - 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ò)覺得博主的代碼可以優(yōu)化下,重復(fù)代碼的地方太多。

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

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—單詞查找樹[未登錄]  回復(fù)  更多評(píng)論   

同意樓上的第一點(diǎn)意見,實(shí)際上我是先實(shí)現(xiàn)了針對(duì)C風(fēng)格字符串的函數(shù),后來(lái)覺得有需要對(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>
            嫩草伊人久久精品少妇av杨幂| 国产精品嫩草影院av蜜臀| 免费在线观看一区二区| 欧美体内she精视频| 性欧美xxxx大乳国产app| 日韩亚洲欧美在线观看| 亚洲国产国产亚洲一二三| 欧美午夜不卡视频| 欧美精品日韩www.p站| 欧美亚洲视频一区二区| 在线中文字幕不卡| 国产在线播放一区二区三区| 亚洲另类自拍| 亚洲精品久久久久中文字幕欢迎你| 免费在线欧美黄色| 亚洲激情一区二区| 欧美国产日本韩| 久久精品人人爽| 久久福利资源站| 欧美在线视频在线播放完整版免费观看 | 国产精品久久久久久久9999 | 亚洲网址在线| 亚洲精品永久免费精品| 亚洲国产成人在线视频| 国产综合自拍| 亚洲视频一区在线| 一区二区高清视频| 99精品视频网| 亚洲视频中文字幕| 男人天堂欧美日韩| 亚洲欧美日韩国产成人| 欧美主播一区二区三区美女 久久精品人| 午夜视黄欧洲亚洲| 欧美日韩国产成人在线观看| 欧美精品v日韩精品v韩国精品v| 国产日韩欧美91| 国产中文一区| 亚洲欧洲99久久| 亚洲欧美精品中文字幕在线| 午夜欧美不卡精品aaaaa| 亚洲激情国产精品| 久久久精品tv| 欧美日韩大片| 亚洲国产精品美女| 久久久噜噜噜久久狠狠50岁| 久久久久久尹人网香蕉| 亚洲视频在线免费观看| 欧美在线高清| 欧美大色视频| 亚洲破处大片| 亚洲精选91| 美国十次了思思久久精品导航| 亚洲免费在线播放| 蜜桃久久精品一区二区| 欧美精品97| 亚洲第一中文字幕| 亚洲香蕉网站| 91久久精品国产91性色| 久久先锋资源| 中文在线一区| 欧美精品在线观看播放| 国产精品天天看| 激情成人av在线| 亚洲成色精品| 久久这里有精品视频| 亚洲欧洲日韩女同| 久久亚洲国产精品日日av夜夜| 国产亚洲日本欧美韩国| 亚洲另类自拍| 亚洲国产高清一区| 欧美成人一二三| 国产伦精品一区二区三区视频黑人 | 国产婷婷色综合av蜜臀av| 在线一区视频| 亚洲免费大片| 欧美视频网站| 亚洲在线观看免费视频| 欧美成人一区二区在线 | 亚洲最新中文字幕| 久久手机免费观看| 久久成人久久爱| 欧美日韩亚洲一区二区三区在线观看 | 亚洲精品视频在线| 欧美在线播放一区二区| 亚洲精品乱码久久久久久久久| 国产日韩欧美在线一区| 久久精品99久久香蕉国产色戒| 欧美一区二区| 精品不卡一区| 亚洲电影免费在线观看| 欧美伦理影院| 亚洲女性喷水在线观看一区| 亚洲综合国产激情另类一区| 国产私拍一区| 欧美大片网址| 欧美另类高清视频在线| 亚洲一区在线看| 翔田千里一区二区| 1000部国产精品成人观看| 亚洲国产欧美日韩| 久久久精品午夜少妇| 在线观看福利一区| 久久久久久色| 久久人人超碰| 一区二区三区**美女毛片| 国产精品99久久久久久久久久久久 | 在线视频免费在线观看一区二区| 99视频一区二区| 欧美激情精品久久久久久免费印度| 激情久久久久久| 亚洲国产一成人久久精品| 欧美区一区二区三区| 亚洲一区免费在线观看| 欧美一区日韩一区| 91久久中文| 亚洲一区日本| 国产精品成人在线| 性欧美大战久久久久久久久| 中文亚洲欧美| 一区二区三区无毛| 欧美不卡视频一区发布| 欧美麻豆久久久久久中文| 亚洲欧美视频一区二区三区| 久久av一区二区三区漫画| 亚洲精品在线观| 午夜精品婷婷| 亚洲精品久久视频| 亚洲欧美日韩国产综合精品二区| 亚洲电影在线播放| 一本色道久久综合狠狠躁篇怎么玩 | 欧美激情综合五月色丁香小说| 亚洲一卡二卡三卡四卡五卡| 久久精品免费电影| 一区二区三区三区在线| 久久久精品国产免大香伊| 亚洲网友自拍| 亚洲欧洲精品成人久久奇米网| 国产精品女人久久久久久| 美女网站久久| 亚洲一区二区少妇| 快射av在线播放一区| 亚洲韩日在线| 亚洲一区二区三区777| 国产一区二区三区直播精品电影| 亚洲国产精品黑人久久久| 欧美日韩99| 亚洲黄一区二区| 亚洲国产婷婷综合在线精品| 久久精品国产亚洲精品| 亚洲欧美一区二区视频| 欧美日韩一区二区三区四区五区| 亚洲大片一区二区三区| 亚洲国产精品v| 欧美在线高清视频| 久久久久九九九| 美女啪啪无遮挡免费久久网站| 久久久久久欧美| 国产欧美精品一区二区三区介绍| 欧美xart系列高清| 久久精品女人的天堂av| 欧美激情一区二区三区| 欧美二区视频| 亚洲激情欧美| 欧美高清视频一区二区| 亚洲高清激情| 亚洲精品免费电影| 蜜臀av在线播放一区二区三区| 欧美丰满少妇xxxbbb| 亚洲国产精品一区制服丝袜| 久久三级视频| 美女露胸一区二区三区| 亚洲国产成人久久综合一区| 美女福利精品视频| 欧美1区2区3区| 亚洲国产一区二区在线| 欧美91视频| 亚洲精品乱码久久久久久按摩观| 一本一道久久综合狠狠老精东影业 | 亚洲精品看片| 欧美精品在线一区二区| 日韩天堂在线视频| 亚洲自拍偷拍网址| 国产麻豆精品theporn| 欧美有码在线视频| 欧美aa国产视频| 亚洲精选一区| 欧美精品在线观看播放| 亚洲视频在线播放| 欧美一区2区三区4区公司二百| 国产亚洲女人久久久久毛片| 亚洲无吗在线| 久久视频在线视频| 亚洲精品国产欧美| 欧美日韩国产一级片| 日韩写真视频在线观看| 亚洲欧美制服中文字幕| 国产综合视频在线观看| 欧美福利视频在线| 亚洲天堂av图片| 久久色在线观看|