日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构与算法 / 字符串匹配算法汇总

發布時間:2024/10/14 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构与算法 / 字符串匹配算法汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

零、前言

一、單模式串匹配

定義:每次,模式串只能和字符串集合中一個串進行匹配。

1、BF:簡單粗暴,主串和模式串都不太長,時間復雜度為 O(m*n) 。

2、KP:字符集范圍不要太大且模式串不要太長, 否則 hash 值可能沖突,時間復雜度為 O(n) 。

3、naive-BM:模式串最好不要太長(因為預處理較重),比如 IDE 編輯器里的查找場景; 預處理的時間復雜度為?O(m*m),匹配的時間復雜度為 O(n),實現較復雜,需要較多額外空間。

4、KMP:適合所有場景,整體實現起來也比 BM 簡單,時間復雜度為 O(n+m),僅需一個 next 數組的 O(n) 額外空間。

二、多模式串匹配

定義:每次,模式串可以和字符串集合中多個串進行匹配。

1、naive-Trie:適合多模式串公共前綴較多的匹配,時間復雜度為 O(n*k) ,即:建 Trie 時間復雜度為 O(n),搜索的時間復雜度為 O(k),n 為字符串集中所有字符的數量,k 為要搜索的字符串的長度。

2、AC 自動機:適合大量文本中多模式串的精確匹配查找,可以到 O(n) 。

?

極客時間:《數據結構與算法之美》,《36.AC自動機:如何用多模式串匹配實現敏感詞過濾功能》ziyuan 的評論。

?

(SAW:Game Over!)

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的数据结构与算法 / 字符串匹配算法汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。