精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

字節二面:什么是 trie 樹以及應用

開發 前端
Trie 樹大家了解一下原理和應用即可,有時候面試的時候會問到,下面我用面試的情景跟大家講解 trie 樹。

[[408420]]

本文轉載自微信公眾號「帥地玩編程」,作者帥地。轉載本文請聯系帥地玩編程公眾號。

Trie 樹大家了解一下原理和應用即可,有時候面試的時候會問到,下面我用面試的情景跟大家講解 trie 樹。

面試官:玩過王者榮耀吧?了解過敏感詞過濾嗎?,例如在游戲里,如果我們發送“你在干嘛?麻痹演員啊你?”,由于“麻痹”是一個敏感詞,所以當你把聊天發出來之后,我們會用“**”來代表“麻痹”這次詞,所以發送出來的聊天會變成這樣:“你在干嘛?**演員啊你?”。

小秋:聽說過啊,在各大社區也經常看到,例如評論一個問題等,一些粗話經常被過濾掉了。

面試官:嗯,如果我給你一段文字,以及給你一些需要過濾的敏感詞,你會怎么來實現這個敏感詞過濾的算法呢?例如我給你一段字符串“abcdefghi",以及三個敏感詞"de", "bca", "bcf"。

小秋:(敏感詞過來算法??不就是字符串匹配嗎?)我可以通過字符串匹配算法,例如在字符串”abcdefghi"在查找是否存在字串“de",如果找到了就把”de“用"**"代替。通過三次匹配之后,接變成這樣了:“abc ** fghi"。

面試官:可以說說你采用哪種字符串匹配算法嗎?

小秋:最簡單的方法就是采用兩個for循環保留求解了,不過每次匹配的都時間復雜度為O(n*m),我可以采用 KMP 字符串匹配算法,這樣時間復雜度是 O(m+n)。

n 表示字符串的長度,m 表示每個敏感詞的長度。

面試官:這是一個方法,對于敏感詞過濾,你還有其他方法嗎?

小秋:(其他方法?說實話,我也覺得不是采用這種 KMP 算法來匹配的了,可是,之前也沒去了解過敏感詞,這下要涼)對敏感詞過來之前也沒了解過,暫時沒想到其他方法。

trie 樹

面試官:了解過 trie 樹嗎?

小秋:(嘿嘿,數據結構這方法,我得爭氣點)了解過,我還用代碼實現過。

面試官:可以說說它的特點嗎?

小秋:trie 樹也稱為字典樹、單詞查找樹,最大的特點就是共享字符串的公共前綴來達到節省空間的目的了。例如,字符串 "abc"和"abd"構成的 trie 樹如下:

trie 樹的根節點不存任何數據,每整個個分支代表一個完整的字符串。像 abc 和 abd 有公共前綴 ab,所以我們可以共享節點 ab。如果再插入 abf,則變成這樣:

如果我再插入 bc,則是這樣(bc 和其他三個字符串沒有公共前綴)。

面試官:那如果再插入 "ab" 這個字符串呢?

小秋:差點說了,每個分支的內部可能也含有完整的字符串,所以我們可以對于那些是某個字符串結尾的節點做一個標記,例如 abc, abd,abf 都包含了字符串 ab,所以我們可以在節點 b 這里做一個標記。如下(我用紅色作為標記):

面試官:可以說說 trie 樹有哪些應用嗎?

小秋:trie 最大的特點就是利用了字符串的公共前綴,像我們有時候在百度、谷歌輸入某個關鍵字的時候,它會給我們列舉出很多相關的信息

這種就是通過 trie 樹來實現的。

小秋:(嗯?trie 又稱為單詞查找樹,好像可以用 trie 來實現剛才的敏感詞匹配?面試官無緣無故提 trie 樹難道別有用意?)

面試官:剛才的敏感詞過濾,其實也可以采用 trie 來實現,你知道怎么實現嗎?

trie 樹來實現敏感詞過濾

小秋:(果然,面試官真是個好人啊,直接提示了,要是還不知道怎么實現,那不真涼?)我想想……..我知道了,

我可以這樣來實現:

先把你給我的三個敏感詞:"de", "bca", "bcf" 建立一顆 trie 樹,如下:

接著我們可以采用三個指針來遍歷,我直接用上面你給你例子來演示吧。

1、首先指針 p1 指向 root,指針 p2 和 p3 指向字符串第一個字符

2、然后從字符串的 a 開始,檢測有沒有以 a 作為前綴的敏感詞,直接判斷 p1 的孩子節點中是否有 a 這個節點就可以了,顯然這里沒有。接著把指針 p2 和 p3 向右移動一格。

3、然后從字符串 b 開始查找,看看是否有以 b 作為前綴的字符串,p1 的孩子節點中有 b,這時,我們把 p1 指向節點 b,p2 向右移動一格,不過,p3不動。

4、判斷 p1 的孩子節點中是否存在 p2 指向的字符c,顯然有。我們把 p1 指向節點 c,p2 向右移動一格,p3不動。

5、判斷 p1 的孩子節點中是否存在 p2 指向的字符d,這里沒有。這意味著,不存在以字符b作為前綴的敏感詞。這時我們把p2和p3都移向字符c,p1 還是還原到最開始指向 root。

6、和前面的步驟一樣,判斷有沒以 c 作為前綴的字符串,顯然這里沒有,所以把 p2 和 p3 移到字符 d。

7、然后從字符串 d 開始查找,看看是否有以 d 作為前綴的字符串,p1 的孩子節點中有 d,這時,我們把 p1 指向節點 d,p2 向右移動一格,不過,p3和剛才一樣不動。(看到這里,我猜你已經懂了)

8、判斷 p1 的孩子節點中是否存在 p2 指向的字符e,顯然有。我們把 p1 指向節點 e,并且,這里e是最后一個節點了,查找結束,所以存在敏感詞de,即 p3 和 p2 這個區間指向的就是敏感詞了,把 p2 和 p3 指向的區間那些字符替換成 *。并且把 p2 和 p3 移向字符 f。如下:

9、接著還是重復同樣的步驟,知道 p3 指向最后一個字符。

復雜度分析

面試官:可以說說時間復雜度嗎?

小秋:如果敏感詞的長度為 m,則每個敏感詞的查找時間復雜度是 O(m),字符串的長度為 n,我們需要遍歷 n 遍,所以敏感詞查找這個過程的時間復雜度是 O(n * m)。如果有 t 個敏感詞的話,構建 trie 樹的時間復雜度是 O(t * m)。

這里我說明一下,在實際的應用中,構建 trie 樹的時間復雜度我覺得可以忽略,因為 trie 樹我們可以在一開始就構建了,以后可以無數次重復利用的了。而剛才的 kmp 算法時間復雜度是 t *(m+n),不過kmp需要維護 next 數組比較費空間,而且在實際情況中,敏感詞的數量 t 是比較大,而 n 反而比較小的吧。

10、如果讓你來 構建 trie 樹,你會用什么數據結構來實現?

小秋:我一般使用 Java,我會采用 HashMap 來實現,因為一個節點的字節點個數未知,采用 HashMap 可以動態拓展,而且可以在 O(1) 復雜度內判斷某個子節點是否存在。

面試官:嗯,回去等通知吧。

總結

今天主要將了 trie 樹以及 trie 樹的一些應用,還要就是如何通過 trie 樹來實現敏感詞的過濾,至于代碼的實現,我這里就不給出了,在實現的時候,為了防止這種”麻 痹"或者“麻¥痹”等,我們也要對特殊字符進行過濾等,有興趣的可以去實現一波。

 

責任編輯:武曉燕 來源: 帥地玩編程
相關推薦

2021-03-01 11:53:15

面試偽共享CPU

2022-01-17 14:24:09

共享字節面試

2021-04-25 09:58:48

mmapJava面試

2021-03-17 15:54:32

IO零拷貝方式

2025-03-28 10:47:05

開發注解Java

2024-08-30 08:59:15

2025-04-08 09:20:00

Sentinel限流微服務

2024-04-03 09:01:34

SpringTomcat容器

2025-04-14 10:00:00

負載均衡Java開發

2022-09-13 14:42:35

Redis內存函數

2024-07-30 14:01:51

Java字節碼JVM?

2025-08-05 03:22:00

2024-09-29 09:50:05

2021-03-15 11:20:46

HTTPS優化前端

2021-01-26 01:55:24

HTTPS網絡協議加密

2024-11-26 08:52:34

SQL優化Kafka

2024-11-20 16:00:19

MybatisJava數據庫

2025-08-14 09:19:48

2012-05-30 09:55:55

JavaTrie

2020-10-11 16:56:48

二叉搜索樹代碼開發
點贊
收藏

51CTO技術棧公眾號

妞干网视频在线观看| 亚洲无码久久久久| 国产精品第一第二| 老鸭窝一区二区久久精品| 一区二区精品视频在线观看| 国产精品青青草| 欧美国产日韩一二三区| 成人影院在线播放| 蜜臀视频一区二区三区| 日韩一区二区在线观看| 国产乱人伦丫前精品视频| 欧美人与禽zoz0善交| 国a精品视频大全| 麻豆成人综合网| 五月婷婷免费视频| www.一区二区.com| 欧美日韩高清一区二区不卡| 精品一区亚洲| 深夜福利影院在线观看| 国产精品自拍偷拍| 91麻豆福利精品推荐| gratisvideos另类灌满| 久久久久亚洲av无码麻豆| 日韩视频在线免费观看| 亚洲尤物精选| 亚洲国产精品欧美久久 | 熟妇女人妻丰满少妇中文字幕| 色吧影院999| 蜜桃av一区二区三区电影| 欧美高清电影在线| 九九热只有这里有精品| 欧美一区二区精品在线| 欧美 日韩 国产精品免费观看| 一区二区不卡视频在线观看| 亚洲欧美日韩精品综合在线观看| 色欧美片视频在线观看| 经典一区二区| 久久久精品毛片| 免费观看中文字幕| 日韩视频免费观看高清完整版 | 激情网站在线| av电影中文字幕| 欧美精品一区二区三区国产精品| 国产精品一区二区三区99| 国产传媒在线观看| 成年人免费观看视频网站 | 中文字幕日韩亚洲| 久久丫精品久久丫| 欧美凹凸一区二区三区视频| 午夜精品久久久久久久| 色综合www| 国产毛片毛片毛片毛片| 免费在线观看亚洲视频| 中文字幕日韩在线观看| 国产毛片精品视频| 国产亚洲一区二区手机在线观看| 日韩a级片在线观看| http;//www.99re视频| 欧美日韩一二三四五区| 91av精品| av在线免费观看网| 疯狂揉花蒂控制高潮h| 亚洲伊人久久综合| 色噜噜狠狠成人中文综合| 欧美久久一区| 成人在线播放视频| 3d动漫精品啪啪一区二区下载| 成人深夜直播免费观看| 色乱码一区二区三区88| 免费在线亚洲欧美| 国产精品一品| 国产又粗又猛又爽又黄的视频四季 | 国产精品久久久久久久久动漫| 澳门精品久久国产| 国产视频一二三四区| 538任你躁在线精品免费| 青青精品视频播放| 欧美亚洲视频| 青青久草在线| 黄色国产在线视频| 亚洲最大的av网站| 日韩写真欧美这视频| 国产乱码精品一区二区三| 精品美女一区| 波多野结衣日韩| 熟妇人妻va精品中文字幕| 国产精品999999| 欧美色精品天天在线观看视频| 日韩精品视频网站| 欧美高清影院| 男人天堂网在线视频| 国产乱淫av麻豆国产免费| 97在线电影| 日韩av在线免费播放| 久久精品视频网| 日韩久久电影| 成人在线直播| 久久国产精品系列| 免费在线观看毛片网站| 成人免费在线视频网址| 亚洲国产精品国自产拍av秋霞 | 精品国产影院| 午夜激情福利电影| 麻豆精品蜜桃一区二区三区| 一区二区在线免费视频| 亚洲激情综合网| 亚洲高清自拍| 欧美日韩女优| 亚洲欧洲精品视频| 狂野欧美性猛交| 午夜精品久久久内射近拍高清| 成人激情在线观看| 欧美美最猛性xxxxxx| 亚洲精品高清视频在线观看| 日韩一区精品视频| 香蕉久久精品| 在线看的毛片| 免费在线国产| 国产精品自拍第一页| 无码人妻精品一区二区中文| 欧美国产激情视频| 区一区二区三区中文字幕| 国产91精品久久久久久久| 精品国产一区二区三区av性色| 亚洲综合免费观看高清完整版 | 一区二区三区 在线观看视| 狠狠躁夜夜躁人人躁婷婷91| 国产成人黄色| 男人和女人做事情在线视频网站免费观看 | 亚洲成人自拍偷拍| 久久亚洲综合色| 麻豆国产欧美一区二区三区| 91精品成人| heyzo久久| 密臀av在线| 国产色片在线观看| 国产三级av在线播放| 成人黄色av片| 91久久精品国产91久久性色| 菠萝蜜影院一区二区免费| 日韩一级片在线播放| 亚洲在线视频免费观看| 99久久精品国产观看| 日韩午夜av| 国内精品视频在线观看| 成人影院在线免费观看| 欧美xxxx视频| 成年网站在线| 国产黄色免费大片| 91浏览器在线观看| 久久久久久国产免费a片| 日本成人xxx| 免费一级特黄录像| www.国产在线视频| 黄色成人在线免费| 久久香蕉国产线看观看99| 青青草伊人久久| 亚洲久久一区二区| 婷婷综合激情| 精品一区二区三| 日韩欧美黄色| 日韩大尺度在线观看| 亚洲综合网狠久久| 日韩免费在线电影| 91tv亚洲精品香蕉国产一区| 色一区二区三区| 日本三级韩国三级欧美三级| 国产一二三区在线视频| 全色精品综合影院| 水莓100在线视频| 国产成人精品免费看视频| 精品一区二三区| 91视频免费网址| 三上悠亚作品在线观看| 992在线观看| 久久中文字幕无码| 国产在线拍揄自揄拍| 国产真实乱人偷精品视频| 国产稀缺精品盗摄盗拍| wwwav国产| 日韩久久久久久久久| 日本少妇久久久| 中文字幕在线播| avove在线观看| 最新中文字幕久久| av网站大全免费| 亚洲人成色77777| 男人天堂1024| jizz欧美激情18| 国产亚洲视频一区| 日本黄色录像片| 亚洲av成人无码久久精品| 91视频免费在观看| 欧美黄色免费看| 中文字幕日产av| 婷婷色在线视频| 九七久久人人| 中文字幕色婷婷在线视频| 免费欧美电影| 91欧美日韩在线| 久久国产精品亚洲人一区二区三区 | 国产不卡在线一区| 国产视频一区二区在线观看| 亚洲美女在线一区| 色系网站成人免费| 亚洲成人黄色在线| 欧美成人精品在线| 国产成人在线播放| 免费成人av网站| 福利视频一区二区三区四区| 日本999视频| 久久资源亚洲| 精品久久久久亚洲| www.亚洲一区二区| www.激情小说.com| 国产1区2区在线观看| 亚洲天堂男人av| 亚洲欧美日韩综合在线| 男人天堂亚洲| 精品中文在线| 欧美精品观看| 国产成人aaa| 亚洲三级在线观看| 欧美日韩国产bt| 在线播放日韩专区| 国产精品旅馆在线| www亚洲国产| 久久久精品视频国产| 欧美日韩精品亚洲精品| 亚洲AV无码精品自拍| 国产鲁鲁视频在线观看特色| 蜜桃视频m3u8在线观看| 网友自拍区视频精品| 日韩电影一区二区三区四区| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品999| 日韩精品综合在线| xxxxx在线观看| 自拍偷拍校园春色| huan性巨大欧美| 群体交乱之放荡娇妻一区二区| 免费高清不卡av| 色爱综合网欧美| 欧美aa在线视频| 午夜久久福利影院| www.xxxx欧美| 精品久久久久久乱码天堂| 高清一区在线观看| 香蕉免费毛片视频| 嫩草在线视频| 豆花视频一区二区| 国内精品久久久久影院一蜜桃| 岛国av午夜精品| 久久久免费av| 亚洲精品高清视频| 亚洲精品理论片| 天天综合网天天综合| 日韩成人18| 麻豆国产91在线播放| 欧美日韩久久久久| 青草成人免费视频| 国产免费成人在线| 国产中文字字幕乱码无限| 毛片在线网址| 亚洲福利专区| 亚洲成人资源网| 欧美福利视频在线| 久久久久福利视频| 日韩成人免费在线视频| 手机在线免费观看av| 一区二区影院| 最好看的中文字幕久久| 美女999久久久精品视频| 996这里只有精品| 久久国产一级片| 7777kkk亚洲综合欧美网站| 亚洲一本视频| 综合久久99| 亚洲天堂精品在线观看| 日韩综合视频在线观看| 欧美激情亚洲天堂| 久久久黄色大片| 欧美美女被草| 9色porny自拍视频一区二区| 亚洲视频在线视频| 欧美性受黑人性爽| 国产一级视频在线| 成人国产精品| 成人黄色小视频在线观看| 亚洲国产精品久久久久秋霞蜜臀 | 国产午夜一区二区| 91精品国产毛片武则天| 亚洲天堂av片| 伊人亚洲精品| 久久日一线二线三线suv| 日韩中文字幕精品| 男人靠女人免费视频网站| 国产裸体永久免费无遮挡| 日韩极品少妇| 一区二区三区精品在线观看| 日本不卡免费高清视频| 黄色一级片免费的| 午夜毛片在线| 免费成人美女在线观看| 亚洲激情小视频| 中文字幕制服丝袜在线| 中文字幕在线观看国产| 岳的好大精品一区二区三区| 亚洲午夜影视影院在线观看| 97伦理在线四区| 免费一级片在线观看| 亚洲aⅴ网站| 国产精品美女一区二区在线观看| 国产欧美日韩中文久久| 欧美有码在线观看视频| 日韩网站在线播放| 黄色综合网址| 国产精品久久99| 国产精品一区二区三区免费视频| 亚洲欧美日本一区| 成人日韩在线观看| 国产精品久久99| 91手机视频在线观看| 精品97人妻无码中文永久在线| 国产精品午夜av| 色丁香久综合在线久综合在线观看| 欧美视频观看一区| 成人黄色免费网| 日韩大片在线观看| 日韩欧美国产三级| 各处沟厕大尺度偷拍女厕嘘嘘| 青春有你2免费观看完整版在线播放高清| 国产模特精品视频久久久久| 亚洲午夜小视频| 日本高清免费在线视频| 白浆视频在线观看| 久久久亚洲午夜电影| 成人精品福利视频| 日本特级黄色片| 97久久视频| 亚洲精品v天堂中文字幕| 久久久999免费视频| 婷婷亚洲一区二区三区| 全国精品久久少妇| 久久免费视频在线观看| 一级黄色录像毛片| 综合成人在线| 欧美色欧美亚洲另类二区| 国产妇女馒头高清泬20p多| 午夜视频在线看| 国产亚洲一区字幕| 精品在线观看一区二区| 国产免费av电影| 日韩电影一二三区| 国产精品99导航| 亚洲日本视频在线观看| 欧美影视一区| 操日韩av在线电影| 精品在线观看一区| 免费视频亚洲| 国产亚洲a∨片在线观看| 日本xxx在线播放| 北条麻妃在线一区二区免费播放| 这里只有精品99re| 亚洲精品自拍网| 日韩精品三区| 日本高清不卡视频| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 中老年在线免费视频| 一本久道中文字幕精品亚洲嫩| xxxx18hd亚洲hd捆绑| 欲香欲色天天天综合和网| 色狠狠综合天天综合综合| 九一精品在线观看| 国产一区二区三区国产精品| 91精品国产91久久综合桃花| 无码人妻精品一区二区三| 精品欧美午夜寂寞影院| 精品国产露脸精彩对白| 中文字幕 亚洲一区| 精品视频亚洲| 欧美激情视频网站| 99精品视频99| 麻豆成人免费电影| 丁香五月网久久综合| 天天操天天干天天舔| 国产精品理论片| 男人添女人下部高潮视频在观看| 欧美日韩亚洲国产| 欧美sm美女调教| 91麻豆制片厂| 亚洲欧美日本日韩| 91免费高清视频| 成年在线电影| 午夜精品成人在线视频| 免费看涩涩视频| 在线亚洲a色| 97视频免费看| 亚洲国产精品久久久久久久| 《视频一区视频二区|