精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国内偷自视频区视频综合 | 欧美成人性战久久| 加勒比海盗1在线观看免费国语版| 国产伦精品一区二区三区视频痴汉| 一区二区日韩欧美| 亚洲精品美女在线| 最新天堂中文在线| 91破解版在线观看| 欧美国产国产综合| 国产精品国产三级欧美二区| 久久久黄色大片| 亚洲精品国产首次亮相| 日韩高清a**址| 五月天av在线播放| 97蜜桃久久| 亚洲欧洲日产国码二区| 久久国产欧美精品| 99久久久国产精品无码网爆| 欧美一级专区| 欧美大片在线看| 极品蜜桃臀肥臀-x88av| 久草精品视频| 日韩欧美一级在线播放| 亚洲免费一级视频| 美女网站在线看| 亚洲免费三区一区二区| 日韩尤物视频| 日本一区二区三区在线观看视频| 国内成人精品2018免费看| 奇米四色中文综合久久| 精品深夜av无码一区二区老年| 三区四区不卡| 亚洲色图15p| 中国极品少妇videossexhd| 国产一区二区三区精品在线观看| 色哟哟国产精品| 国产黄色片免费在线观看| 国产精品扒开做爽爽爽的视频| 国产三级一区二区| 欧美二区在线看| 亚洲 欧美 自拍偷拍| 粉嫩av一区二区三区| 成人久久18免费网站图片| 日韩欧美国产另类| 老司机精品视频网站| 5278欧美一区二区三区| 欧美bbbbbbbbbbbb精品| 在线日韩中文| 久久久久久中文字幕| 黄色一级视频免费| 欧美黄色精品| 欧美老肥婆性猛交视频| 日韩在线观看视频一区二区| 国产精品毛片一区二区在线看| 在线观看久久av| 中文字幕第二区| 欧美中文一区二区| 最近的2019中文字幕免费一页| 亚洲一区视频在线播放| 成人高清电影网站| 最新国产精品拍自在线播放 | 成人av毛片在线观看| 国产精品诱惑| 制服.丝袜.亚洲.中文.综合| 午夜不卡福利视频| 国产电影一区| 日韩欧美国产成人一区二区| 亚洲av熟女高潮一区二区| 黄色免费大全亚洲| 亚洲欧美日韩国产成人| 亚洲图片另类小说| 日韩a一区二区| 久久综合五月天| 精品一级少妇久久久久久久| 国产日韩精品视频一区二区三区| 欧洲亚洲免费视频| 中文字幕久久久久| 国精产品一区一区三区mba视频 | 伊人久久大香线蕉综合网站| 原创国产精品91| 伊人在线视频观看| 伊人蜜桃色噜噜激情综合| 91av视频在线播放| 中文字幕一区二区在线视频 | 国产精品一区二区你懂得| 污污网站在线免费观看| 国产日韩欧美高清| www.69av| 人人视频精品| 欧美一级爆毛片| 人妻无码一区二区三区| 日韩欧美不卡| 97精品国产97久久久久久免费 | 久久久久久夜| 91免费电影网站| 亚州男人的天堂| **欧美大码日韩| 无码人妻丰满熟妇区96| 日韩第二十一页| 亚洲电影第1页| 18啪啪污污免费网站| 激情综合中文娱乐网| 国产精品久久精品| 欧美性猛交 xxxx| 国产精品久久久久影院老司| 日本免费a视频| 日本午夜免费一区二区| 日韩av在线免费观看一区| 香蕉成人在线视频| 国产一区91| 97超碰最新| av基地在线| 精品国产31久久久久久| 手机精品视频在线| 欧美精品久久久久久| 久久免费福利视频| 99精品国产99久久久久久97| 国产色爱av资源综合区| 国产最新免费视频| 日韩一区二区三区色| 伊人久久综合97精品| 成年免费在线观看| 国产成人精品亚洲777人妖| 三区精品视频观看| 在线中文字幕播放| 精品盗摄一区二区三区| 男女性高潮免费网站| 日韩精品一级二级 | 午夜精品久久久久99热蜜桃导演 | 成人黄色片在线观看| 91免费观看视频在线| 成年在线观看视频| 96sao精品免费视频观看| 国产午夜精品视频免费不卡69堂| 日本少妇bbwbbw精品| 国产精品资源在线看| 亚洲国产日韩综合一区| 日产精品一区| 亚洲欧美日韩视频一区| 三级视频在线观看| 95精品视频在线| 美女日批免费视频| 粉嫩精品导航导航| 久久人91精品久久久久久不卡| 精品乱子伦一区二区| 亚洲视频网在线直播| 亚洲图色中文字幕| 国产精品不卡| 亚洲永久在线观看| 在线中文字幕电影| 欧美zozo另类异族| 久久久久久久久久91| 大桥未久av一区二区三区中文| 男同互操gay射视频在线看| 不卡的国产精品| 欧美成人中文字幕在线| www国产在线| 亚洲国产美女搞黄色| 日本道中文字幕| 99热这里只有成人精品国产| 欧美激情www| 91av一区| 欧美大胆在线视频| 蜜桃91麻豆精品一二三区| 亚洲h动漫在线| 久久久久久久久免费看无码| 日韩成人免费在线| 在线观看欧美一区| 亚洲精品黑牛一区二区三区| 国内揄拍国内精品| 欧美日韩影视| 欧美日韩不卡视频| 青青草免费av| youjizz久久| 99视频免费播放| 外国成人免费视频| 国产精品久久久久免费| 91av亚洲| 久久天天躁日日躁| 欧美一区二区三区黄片| 色一区在线观看| www.xxxx日本| av网站免费线看精品| 精品久久久噜噜噜噜久久图片| 日韩成人三级| 国产精品成人一区二区三区| 欧美成人ⅴideosxxxxx| 精品国内自产拍在线观看| a级片在线视频| 色婷婷av一区二区三区之一色屋| 丁香六月激情综合| 成人丝袜18视频在线观看| av无码精品一区二区三区| 欧美 亚欧 日韩视频在线| 美媛馆国产精品一区二区| 香蕉成人在线| 欧美在线一区二区视频| 激情在线小视频| 亚洲精品综合精品自拍| 国产视频手机在线| 色av成人天堂桃色av| 欧美日韩亚洲国产另类| 国产片一区二区| 波多野结衣视频播放| 蜜臀久久99精品久久久久宅男 | 亚洲精品美女久久| 国产精品伦一区二区三区| 日韩欧美国产网站| 欧美色图一区二区| 中文字幕精品在线不卡| 最近中文字幕无免费| 国产一区二区免费看| 欧美黑人又粗又大又爽免费| 欧美特黄a级高清免费大片a级| 三区精品视频观看| 亚洲影院天堂中文av色| 国产精品一区二区av| 成人在线日韩| 国产在线观看精品| 桃色一区二区| 5278欧美一区二区三区| 国产精品一品| 欧美大片欧美激情性色a∨久久| 人人干在线视频| 亚洲一二三在线| 视频二区在线| 亚洲国产三级网| www.亚洲欧美| 日韩精品一区二区三区视频播放| 亚洲在线精品视频| 欧美怡红院视频| 亚洲 欧美 成人| 欧美日韩免费在线观看| 国产乡下妇女做爰视频| 亚洲精品成人a在线观看| 免费黄色激情视频| 国产精品卡一卡二| a级黄色免费视频| 国产精品久久毛片a| xxxxx99| 久久伊人中文字幕| 国产伦精品一区二区三区妓女| 99久久国产综合精品色伊| 91超薄肉色丝袜交足高跟凉鞋| 国产suv一区二区三区88区| 91 视频免费观看| 国产精品自拍一区| 中文字幕永久免费| 国产999精品久久| av免费观看不卡| 91视频.com| 国产激情在线免费观看| 国产日韩精品一区二区三区在线| 波多野结衣a v在线| 久久精品视频一区| 久久久久亚洲AV成人无在| 国产精品美女视频| www.xx日本| 玉足女爽爽91| 日本少妇性生活| 欧美性20hd另类| 最新黄色网址在线观看| 欧美日韩国产美| 99久久久久成人国产免费| 精品国产一区a| 三级无遮挡在线观看| 亚洲天堂色网站| 免费黄网在线观看| 九色精品免费永久在线| 国产在线美女| 国产精品久久久久av| 国产精品国产亚洲精品| 国产精品一区二区a| 精品成av人一区二区三区| 亚洲午夜激情| 好看不卡的中文字幕| 精品中文字幕av| 久久电影国产免费久久电影 | 久久综合五月天婷婷伊人| 日本二区在线观看| 亚洲精品免费在线| www亚洲视频| 在线播放日韩导航| 亚洲区小说区图片区| 色婷婷av一区二区三区在线观看 | 国产精品2018| 精品中文字幕一区二区三区四区| 精品国产区在线| 久久影院100000精品| 国产主播自拍av| 日本手机在线视频| 美女视频黄 久久| 黄色性视频网站| 成人欧美一区二区三区| 欧美一二三区视频| 欧美一区二区三区在线视频| 爽爽视频在线观看| 久久福利视频导航| 精品免费av在线| 国产精品久久7| 色综合天天爱| 哪个网站能看毛片| 国产自产高清不卡| 亚洲黄色小说视频| 亚洲国产wwwccc36天堂| 夜夜嗨aⅴ一区二区三区| 日韩av在线直播| www视频在线免费观看| 国产99久久精品一区二区| 中文字幕区一区二区三| 亚洲乱码一区二区三区三上悠亚| 99精品国产在热久久| 古装做爰无遮挡三级聊斋艳谭| 久久精品人人做| 精品成人免费视频| 555夜色666亚洲国产免| 国产在线91| 69国产精品成人在线播放| 国产亚洲字幕| 中文字幕色一区二区| 日韩成人免费在线| 99久久人妻无码精品系列| 亚洲一区在线看| 国产熟女一区二区三区四区| 色婷婷av一区二区三区久久| 99久久婷婷国产综合精品首页| 久久精品magnetxturnbtih| 韩日视频一区| 色欲无码人妻久久精品| 国产精品天干天干在观线| 懂色av蜜臀av粉嫩av分享吧最新章节| 亚洲国产精品va在线看黑人动漫| 在线观看午夜av| 91入口在线观看| 一区二区在线| 永久看看免费大片| 一区二区三区中文字幕电影| 国产欧美熟妇另类久久久| 久久精品99久久久香蕉| **欧美日韩在线| 在线观看亚洲视频啊啊啊啊| 久久99精品久久久久久久久久久久| www久久久久久久| 欧美色涩在线第一页| 啊v在线视频| 国产精品亚洲自拍| 99久久www免费| 一级做a爱视频| 亚洲一区在线免费观看| 人妻少妇精品无码专区| 午夜精品视频网站| 丝袜久久网站| 亚洲黄色a v| 国产精品国产三级国产普通话三级 | 91香蕉亚洲精品| 66视频精品| 日本wwwxx| 精品国产91久久久久久老师| 男操女在线观看| 国产精品免费小视频| 91久久夜色精品国产按摩| 污污视频在线免费| 亚洲国产精品久久不卡毛片 | 自拍偷自拍亚洲精品播放| 国产男女猛烈无遮挡| 久久久久国产精品一区| 网曝91综合精品门事件在线| 黄色三级视频在线| 自拍偷拍国产精品| 蜜桃av中文字幕| 国产91色在线免费| 亚洲成av人电影| 欧美肉大捧一进一出免费视频| 色av成人天堂桃色av| 成人看av片| 久久伊人一区二区| 麻豆91精品91久久久的内涵| 婷婷伊人五月天| 日韩av资源在线播放| 欧美高清xxx| 国产一区二区三区乱码| 久久精品视频一区| 国产成人久久精品77777综合| 91国产视频在线播放| 成人精品视频| 中国老熟女重囗味hdxx| 色婷婷综合久久久久中文一区二区| 秋霞a级毛片在线看| 国产精品久久久久久久久久直播 | 日韩一区二区影院| 国产ktv在线视频| 亚洲国产婷婷香蕉久久久久久99| 国产成+人+日韩+欧美+亚洲| 无码人妻精品一区二区三区不卡| 久久伊人精品天天| 中文精品一区二区| 污视频在线观看免费网站| 欧美日韩亚洲网| 日本一级理论片在线大全| 天堂一区二区三区|