版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
模式匹配第四章:串
主講:周翔樸素的模式匹配算法(BF算法)樸素的模式匹配算法思路:從主串s的第一個字符開始與t的第一個字符作比較;如果相等,繼續(xù)逐個比較后續(xù)的字符;如果不相等,使主串的第二個字符與t的第一個字符比較:如果相等,繼續(xù)逐個比較后續(xù)的字符;如果不相等,使主串的第三個字符與t的第一個字符比較:………以此類推,直到主串s的一個連續(xù)子串序列與模式t相等,返回子串序列在s串中的位置;否則匹配不成功,返回-1。樸素的模式匹配算法(BF算法)樸素的模式匹配算法思路:abecdecd主串s子串t從主串s的第一個字符開始與t的第一個字符作比較不相等從主串s的第二個字符開始與t的第一個字符作比較不相等從主串s的第三個字符開始與t的第一個字符作比較相等繼續(xù)比較后面的字符相等繼續(xù)比較后面的字符相等匹配成功樸素的模式匹配算法(BF算法)樸素的模式匹配算法(BF算法)KMP算法KMP算法(無回溯的模式匹配):KMP算法的主要思想就是利用已得到的部分匹配信息來進行后面的匹配過程,消除主串的回溯,從而提高匹配的效率。子串t主串scabxabeahycabdabKMP算法由匹配結果可以得出如下信息:t[0]=s[0];t[1]=s[1];t[0]!=t[1]==>t[0]!=s[1];t[0]=s[0];t[2]=s[2];t[0]!=t[2]==>t[0]!=s[2];t[0]=s[0];t[3]=s[3];t[0]=t[3]==>t[0]=s[3];
t[1]=s[1];t[4]=s[4];t[1]=t[4]==>t[1]=s[4];子串t主串scabxabeahycabdab因此下一次比較就比對s[5]與t[2]是否相等。這樣就省去了主串的回溯KMP算法KMP算法(無回溯的模式匹配):對于t的每個字符t[j](0<=j<=m-1),若存在一個整數k(k<j),使得模式t中k所指字符前的k個字符(t0t1…tk-1)依次與tj的前面k個字符(tj-ktj-k+1…tj-1)相同,并與主串s中i所指字符之前的k個字符相同,那么利用這種匹配信息就可以避免不必要的回溯。在匹配之前,用一個數組next來存放模式串t中字符的匹配信息,通過分析t中的字符,得出匹配完當前字符后,下一次要匹配哪一個字符,將該字符信息存入next數組。存入next數組的這個值也稱為模式值、next值。KMP算法KMP算法(無回溯的模式匹配):next值的推導規(guī)則如下所示:(1)next[0]=-1:任何串中第一個字符的模式值規(guī)定為-1;(2)next[j]=1:模式串t中下標為j的字符與首字符相同,且j之前的1-k個字符與開頭的1-k個字符不等(或者相等但t[k]=t[j])(1<=k<j);(3)next[j]=k:如果模式串t中下標為j的字符之前k個字符與t開頭的k個字符相等,且t[j]!=t[k](1<=k<j),則next[j]=k;(4)next[j]=0:除(1)、(2)、(3)之外的其他情況next[j]都為0;KMP算法abcabd-100012bfbfbfkmpbf-10012340001KMP算法——分析總結本章主要講解了串的相關知識,包括串的概念、串的存儲結構、以及串常用的模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西交通職業(yè)技術學院《中級政治經濟學》2023-2024學年第一學期期末試卷
- 陜西交通職業(yè)技術學院《工業(yè)設計史》2023-2024學年第一學期期末試卷
- 陜西機電職業(yè)技術學院《設計》2023-2024學年第一學期期末試卷
- 保護原始股東協(xié)議合同范例
- 商品房合同附加合同范例
- 土建工程施工合同范例
- 包干單價合同范例
- 標準活動板房合同范例
- 住建部 施工合同范例
- 醫(yī)療用品寄售合同范例
- 部編版五年級語文上冊全冊1-8單元知識要點復習
- 2023年四川宜賓五糧液股份有限公司招聘考試真題
- 2024年新人教版道德與法治七年級上冊全冊教案(新版教材)
- 山西大同云岡石窟旅游旅行
- 聯(lián)合偉世:2024年中國人工智能人才發(fā)展報告
- 2024浙江漢宇設計限公司人才招聘27人(高頻重點提升專題訓練)共500題附帶答案詳解
- 國際貿易參展綜合計劃書模板
- 2024年國開電大 統(tǒng)計學原理 形成性考核冊答案
- 幼兒園大班語言課件:不怕冷的大衣
- 2024至2030年中國生物反應器行業(yè)市場調查研究及投資潛力預測報告
- DL∕T 448-2016 電能計量裝置技術管理規(guī)程
評論
0/150
提交評論