黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 數(shù)據(jù)結(jié)構(gòu)中KMP算法是什么?

數(shù)據(jù)結(jié)構(gòu)中KMP算法是什么?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-11 07:11:44 1696979504

一、數(shù)據(jù)結(jié)構(gòu)中KMP算法

KMP算法介紹

KMP算法是一種改進的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人們稱它為克努特—莫里斯—普拉特操作(簡稱KMP算法)。KMP算法是在 BF 算法基礎(chǔ)上改進得到的算法。學(xué)習(xí) BF 算法我們知道,該算法的實現(xiàn)過程就是 “傻瓜式” 地用模式串(假定為子串的串)與主串中的字符一一匹配,匹配不成功則返回到上一次與主串匹配的下一位字符進行匹配,算法執(zhí)行效率不高。

KMP算法的解決題型

KMP算法是在數(shù)據(jù)結(jié)構(gòu)中兩個字符串相互匹配衍生出來的算法。KMP算法的作用是在一個已知字符串中查找子串的位置,也叫做串的模式匹配。例如,對主串 A(“ABCABCE”)和模式串 B(“ABCE”)進行模式匹配,如果人為去判斷,僅需匹配兩次。雖然在以上字符較少的串中人為匹配很容易,但是讓計算機來匹配就相對慢一些,但是當(dāng)字符串中的字符非常多的時候,就不可能人為去匹配。所以打鐵還需自身硬,我們把這種枯燥的事以一定的算法交給計算機處理。

KMP算法相比BF算法的改進

每當(dāng)一趟匹配過程中出現(xiàn)字符比較不等時,無需回溯i指針(即無需將i指針完全退回至i-j+1),而是利用已經(jīng)得到的“部分匹配”的結(jié)果將模式向右“滑動”盡可能遠的一段距離后,繼續(xù)進行比較。

需要解決的問題:當(dāng)主串中的第i個字符與模式中第j個字符比較不相等時,主串中第i個字符(i指針不回溯)應(yīng)與模式中哪個字符再比較?—-假設(shè)從主串中第i個字符與模式中的第k個字符再進行比較

它是則呢樣來消除回溯的呢?就是因為它提取并運用了加速匹配的信息!

  這種信息就是對于每模式串 t 的每個元素 t j,都存在一個實數(shù) k ,使得模式串 t 開頭的 k 個字符(t 0 t 1…t k-1)依次與 t j 前面的 k(t j-k t j-k+1…t j-1,這里名列前茅個字符 t j-k 非常多從 t 1 開始,所以 k < j)個字符相同。如果這樣的 k 有多個,則取最大的一個。模式串 t 中每個位置 j 的字符都有這種信息,采用 next 數(shù)組表示,即 next[ j ]=MAX{ k }。

延伸閱讀:

二、KMP算法的時間復(fù)雜度

主要由兩部分組成:預(yù)處理部分和匹配部分。

預(yù)處理部分:在這一步,算法計算模式串的最長公共前綴和后綴(也稱為部分匹配表或失效函數(shù))。這一步的時間復(fù)雜度為O(m),因為它遍歷了整個模式串。匹配部分:在這一步,算法在目標(biāo)文本中查找模式串。在最壞的情況下,這一步的時間復(fù)雜度為O(n)。這是因為算法在進行比較時,可以根據(jù)失效函數(shù)跳過不匹配的字符,因此,它不需要對每個字符進行逐一比較。

綜合考慮這兩部分,KMP算法的總時間復(fù)雜度為O(m+n)。與樸素的字符串匹配算法相比(其時間復(fù)雜度為O(mn)),KMP算法具有更高的效率,尤其在處理大量數(shù)據(jù)時。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件架構(gòu)如何能夠滿足ASPICE流程?

一、軟件架構(gòu)如何能夠滿足ASPICE流程架構(gòu)的用途是把整個產(chǎn)品劃分為更為細節(jié)的板塊:軟件、硬件、通信等。在這個基礎(chǔ)上軟件整體將按照用途、功能...詳情>>

2023-10-11 08:47:00
紅黑樹為什么叫紅黑樹?

一、紅黑樹叫紅黑樹的原因紅黑樹(Red-Black Tree)是一種自平衡的二叉搜索樹(Binary Search Tree),其在插入和刪除操作時能夠自動調(diào)整樹的結(jié)...詳情>>

2023-10-11 08:42:41
為什么數(shù)組索引數(shù)據(jù)那么快速、有效?

一、數(shù)組索引數(shù)據(jù)快速、有效的原因1、連續(xù)內(nèi)存存儲數(shù)組在內(nèi)存中是連續(xù)存儲的,數(shù)組的元素在內(nèi)存中按照一定的順序排列,相鄰元素之間沒有間隔。...詳情>>

2023-10-11 08:36:19
數(shù)據(jù)結(jié)構(gòu)里的逐點插入法、排序二叉樹是什么?

一、數(shù)據(jù)結(jié)構(gòu)里的逐點插入法、排序二叉樹逐點插入法三角剖分是一種研究方法。三角剖分≠TIN三角剖分是代數(shù)拓?fù)鋵W(xué)里最基本的研究方法。 以曲面為...詳情>>

2023-10-11 08:08:01
在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思?

一、在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思在數(shù)據(jù)結(jié)構(gòu)中,i=L->length通常表示一個線性表L的長度,即L中元素的個數(shù)。線性表是一種數(shù)據(jù)結(jié)構(gòu),它由n...詳情>>

2023-10-11 07:54:48
在线观看成人网 | 麻豆污视频| 国产成人精品综合| 久久99欧美| 韩国毛片基地| 青草国产在线观看| 深夜做爰性大片中文| 99久久精品国产高清一区二区| 韩国毛片免费| 久久精品人人做人人爽97| 国产伦理精品| 国产原创视频在线| 日日日夜夜操| 日韩在线观看视频黄| 美女免费精品视频在线观看| 国产成+人+综合+亚洲不卡| 夜夜操网| 国产亚洲精品成人a在线| 欧美一级视频免费| 国产不卡在线观看视频| 国产视频一区在线| 青青久热| 日本伦理黄色大片在线观看网站| 欧美激情一区二区三区在线播放 | 国产一区二区精品尤物| 欧美另类videosbestsex久久 | 欧美α片无限看在线观看免费| 韩国三级香港三级日本三级la | 日韩专区一区| 精品久久久久久影院免费| 久久久久久久久综合影视网| 国产成人女人在线视频观看| 欧美激情一区二区三区在线 | 国产伦久视频免费观看 视频| 一级毛片看真人在线视频| 亚欧成人乱码一区二区| 99久久视频| 久久精品人人做人人爽97| 日本伦理黄色大片在线观看网站| 国产高清视频免费观看| 99久久视频| 韩国毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久久成人影院| 久草免费资源| 国产一区二区精品尤物| 久久精品人人做人人爽97| 日韩在线观看视频免费| 91麻豆精品国产片在线观看| 高清一级做a爱过程不卡视频| 亚洲 国产精品 日韩| 国产综合成人观看在线| 国产国产人免费视频成69堂| 亚洲天堂免费观看| 久久精品人人做人人爽97| 四虎影视久久久免费| 欧美另类videosbestsex久久 | 国产不卡在线观看| 免费国产在线观看| 色综合久久天天综合观看| 国产亚洲精品成人a在线| 国产成人欧美一区二区三区的| 一本高清在线| 免费国产一级特黄aa大片在线| 999久久66久6只有精品| 999精品在线| 999精品视频在线| 欧美国产日韩精品| 国产一区二区精品在线观看| 精品国产一区二区三区免费 | 国产精品免费久久| 免费毛片播放| 精品久久久久久中文字幕一区| 久久久久久久网| 黄视频网站免费观看| 国产91视频网| 午夜欧美福利| 国产麻豆精品高清在线播放| 日本伦理网站| 国产视频久久久| 精品久久久久久中文字幕2017| 久久久成人网| 91麻豆精品国产自产在线观看一区| 午夜在线影院| 午夜在线亚洲| 九九免费高清在线观看视频| 欧美大片aaaa一级毛片| 日本伦理片网站| 色综合久久天天综线观看| 国产a视频| a级毛片免费观看网站| 美女免费精品高清毛片在线视| 欧美国产日韩一区二区三区| 天天色色色| 日本伦理网站| 四虎影视库| 香蕉视频亚洲一级| 精品毛片视频| 国产视频一区二区三区四区| 精品国产一区二区三区久久久蜜臀| 美女免费精品视频在线观看| 午夜精品国产自在现线拍| 国产麻豆精品| 91麻豆精品国产片在线观看| 亚洲精品影院| 九九热精品免费观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产精品自拍亚洲| 四虎论坛| 午夜在线亚洲男人午在线| 国产91精品一区| 成人免费观看网欧美片| 一级毛片视频免费| 二级特黄绝大片免费视频大片| 尤物视频网站在线| 欧美激情伊人| 久久99青青久久99久久| 精品视频在线观看免费| 国产成人欧美一区二区三区的| 欧美一区二区三区性| 亚欧成人乱码一区二区| 欧美a级大片| 国产高清在线精品一区二区| 韩国三级视频在线观看| 国产网站在线| 欧美一区二区三区在线观看| 青青青草视频在线观看| 久久国产影视免费精品| 可以免费在线看黄的网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品国产一区二区三区久久久狼| 国产一区二区高清视频| 日韩中文字幕在线播放| 国产极品白嫩美女在线观看看| 国产综合91天堂亚洲国产| 四虎论坛| 欧美a免费| 久久久成人网| 国产不卡高清在线观看视频| 在线观看导航| 久草免费资源| 99热精品一区| 99色精品| 欧美大片毛片aaa免费看| 国产不卡福利| 青青久热| 成人高清视频免费观看| 天天做日日干| 香蕉视频三级| 久久99中文字幕| 久草免费在线视频| 国产一区二区精品在线观看| 韩国妈妈的朋友在线播放| 精品国产亚一区二区三区| 国产不卡在线看| 午夜在线亚洲| 九九精品久久| 欧美国产日韩在线| 久久久成人网| 四虎久久精品国产| 午夜精品国产自在现线拍| 在线观看成人网 | 国产一区二区精品尤物| 亚洲精品影院| 亚欧成人毛片一区二区三区四区| 国产视频在线免费观看| 欧美电影免费看大全| 台湾毛片| 一a一级片| 国产精品1024永久免费视频 | 97视频免费在线| 日韩一级黄色| 在线观看导航| 精品视频在线观看视频免费视频| 九九久久99| 九九精品影院| 欧美爱爱动态| 国产伦精品一区二区三区在线观看| 国产a免费观看| 黄视频网站在线免费观看| 韩国三级香港三级日本三级la| 亚欧成人毛片一区二区三区四区| 国产一区二区精品久| 日韩专区在线播放| 尤物视频网站在线观看| 日韩男人天堂| 精品久久久久久综合网| 欧美爱爱动态| 国产综合成人观看在线| 亚洲爆爽| 日韩在线观看免费完整版视频| 国产不卡在线播放| 久久成人亚洲| 欧美一级视频免费| 亚洲天堂在线播放| 国产精品1024永久免费视频| 91麻豆国产| 成人在免费观看视频国产| 91麻豆tv| 亚洲 国产精品 日韩|