版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、KMP字符串模式匹配詳解字符串模式匹配詳解KMP字符串模式匹配通俗點(diǎn)說(shuō)就是一種在一個(gè)字符串中定位另一個(gè)串的高效算法。簡(jiǎn)單匹配算法的時(shí)間復(fù)雜度為O(mn)KMP匹配算法??梢宰C明它的時(shí)間復(fù)雜度為O(mn).。一.簡(jiǎn)單匹配算法簡(jiǎn)單匹配算法先來(lái)看一個(gè)簡(jiǎn)單匹配算法的函數(shù):intIndex_BF(S[]T[]intpos)若串S中從第pos(S的下標(biāo)0≤posStrLength(S))個(gè)字符起存在和串T相同的子串,則稱匹配成功,返回第一個(gè)這樣的子
2、串在串S中的下標(biāo),否則返回1inti=posj=0while(S[ij]!=0繼續(xù)比較后一字符elseij=0重新開始新的一輪匹配if(T[j]==0)returni匹配成功返回下標(biāo)elsereturn1串S中(第pos個(gè)字符起)不存在和串T相同的子串Index_BF此算法的思想是直截了當(dāng)?shù)模簩⒅鞔甋中某個(gè)位置i起始的子串和模式串T相比較。即從j=0起比較S[ij]與T[j],若相等,則在主串S中存在以i為起始位置匹配成功的可能性,繼續(xù)
3、往后比較(j逐步增1),直至與T串中最后一個(gè)字符相等為止,否則改從S串的下一個(gè)字符起重新開始進(jìn)行下一輪的“匹配“,即將串T向后滑動(dòng)一位,即i增1,而j退回至0,重新開始新一輪的匹配。二.KMP匹配算法匹配算法還是相同的例子,在S=”abcabcabdabba”中查找T=”abcabd”,如果使用KMP匹配算法,當(dāng)?shù)谝淮嗡阉鞯絊[5]和T[5]不等后,S下標(biāo)不是回溯到1,T下標(biāo)也不是回溯到開始,而是根據(jù)T中T[5]==’d’的模式函數(shù)值(
4、next[5]=2,為什么?后面講),直接比較S[5]和T[2]是否相等,因?yàn)橄嗟?,S和T的下標(biāo)同時(shí)增加因?yàn)橛窒嗟龋琒和T的下標(biāo)又同時(shí)增加。。。最終在S中找到了T。如圖:KMP匹配算法和簡(jiǎn)單匹配算法效率比較,一個(gè)極端的例子是:在S=“AAAAAA…AAB“(100個(gè)A)中查找T=”AAAAAAAAAB”簡(jiǎn)單匹配算法每次都是比較到T的結(jié)尾,發(fā)現(xiàn)字符不同,然后T的下標(biāo)回溯到開始,S的下標(biāo)也要回溯相同長(zhǎng)度后增1,繼續(xù)比較。如果使用KMP匹配算
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- kmp模式匹配算法
- kmp字符串模式匹配詳解
- 畢業(yè)設(shè)計(jì)kmp算法的fpga實(shí)現(xiàn)
- 基于KMP算法的深度檢測(cè)技術(shù)在新一代防火墻中的應(yīng)用.pdf
- 冒泡排序算法詳解
- aac解碼算法詳解
- 處理機(jī)調(diào)度算法詳解
- sift 特征提取算法詳解
- 詳解快速傅里葉變換fft算法
- 算法詳解及練習(xí)題
- h.264壓縮算法詳解
- f5負(fù)載均衡算法詳解
- 公歷和農(nóng)歷轉(zhuǎn)換算法詳解
- svpwm算法詳解已標(biāo)注重點(diǎn)
- 計(jì)劃成本核算法詳解
- 相位法激光測(cè)距原理及算法詳解
- 第3章關(guān)聯(lián)規(guī)則挖掘理論和算法(new)詳解
- KMP固化穩(wěn)定化鉛鋅鎘污染土的影響因素及重金屬運(yùn)移特性試驗(yàn)研究.pdf
- 法語(yǔ)音標(biāo)詳解,發(fā)音規(guī)則詳解
- hdmi詳解
評(píng)論
0/150
提交評(píng)論