




已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
天津市大學(xué)軟件學(xué)院實(shí)驗(yàn)報(bào)告課程名稱:串匹配算法實(shí)驗(yàn)姓名: 陳小龍 學(xué)號(hào):1150210403班級(jí): 業(yè)務(wù)1114 串匹配問(wèn)題一、實(shí)驗(yàn)題目:給定一個(gè)主串,在該主串中查找并定位任意給定字符串。二、實(shí)驗(yàn)?zāi)康模?1)深刻理解并掌握蠻力法的設(shè)計(jì)思想;(2)提高應(yīng)用蠻力法設(shè)計(jì)算法的技能;(3)理解這樣一個(gè)觀點(diǎn):用蠻力法設(shè)計(jì)的算法,一般來(lái)說(shuō),經(jīng)過(guò)適度的努力后,都可以對(duì)算法的第一個(gè)版本進(jìn)行一定程度的改良,改進(jìn)其時(shí)間性能。三、實(shí)驗(yàn)分析:串匹配問(wèn)題的BF算法1 在串S中和串T中設(shè)比較的下標(biāo)i=1和j=1; 2 循環(huán)直到S中所剩字符個(gè)數(shù)小于T的長(zhǎng)度或T中所有字符均比較完 2.1 k=i 2.2 如果Si=Tj,則比較S和T的下一字符,否則 2.2 將i和j回溯(i=k+1; j=1)3 如果T中所有字符均比較完,則匹配成功,返回k 否則匹配失敗,返回0 時(shí)間復(fù)雜度:設(shè)匹配成功發(fā)生在si處,則在i-1趟不成功的匹配中比較了(i-1)m次,第i趟成功匹配共比較了m次,所以總共比較了im次,因此平均比較次數(shù)是:i=1n-m+1pi(im)= i=1n-m+11n-m+1(im)= m(n-m+2)2一般情況下,mn,因此最壞情況下時(shí)間復(fù)雜度是(nm)。串匹配問(wèn)題的KMP算法實(shí)現(xiàn)過(guò)程:在串S和串T中高比較的起始下標(biāo)i和j;循環(huán)直到S中所剩字符小于T的長(zhǎng)度或T的所有字符均比較完(如果Si=Tj,則繼續(xù)比較S和T的下一個(gè)字符;否則將j向右滑動(dòng)到nextj位置,即j=nextj;如果j=0,則將i和j分別+1,準(zhǔn)備下趟比較,至于其中的next在此不作詳細(xì)講解);如果T中所有字符均比較完,則匹配成功,返回匹配的起始下標(biāo);否則匹配失敗,返回0。時(shí)間復(fù)雜度:(n+m),當(dāng)mn時(shí),KMP算法的時(shí)間復(fù)雜性是(n)。四、實(shí)驗(yàn)所用語(yǔ)言和運(yùn)行環(huán)境C+,運(yùn)行環(huán)境Microsoft Visual C+ 6.0五、實(shí)驗(yàn)過(guò)程的原始記錄BF算法程序代碼#include#includevoid main() cout請(qǐng)輸入主串并且以0和回車結(jié)束endl;char s100;char t100;for(int m=0;msm;if(sm=0)sm=0;break;cout您輸入的主串為:;for(int o=0;ostrlen(s);+o)coutso;coutendl;cout主串長(zhǎng)度:;coutstrlen(s); coutendlendl;cout請(qǐng)輸入子串并且以0和回車結(jié)束endl;for(int n=0;ntn;if(tn=0)tn=0;break;cout您輸入的子串為:;for(int a=0;astrlen(t);+a)coutta; coutendl; cout子串長(zhǎng)度:; coutstrlen(t);coutendl;coutendl+BF算法+endl; int i,j,k,y=0; for(i=0;istrlen(s)-strlen(t)+1;) k=i; for(j=0;jstrlen(t);) if(si=tj) if(j=strlen(t)-1) cout找到了相同的字串:;cout位置在主串的第i-j+1的位置上; coutendl;y=1;break; +i; +j; else j=0;break;i=k+1;if(y=1)break;if(i=strlen(s)-strlen(t)+1&j!=strlen(t)-1)cout沒有找到可以匹配的子串endl;程序執(zhí)行結(jié)果:查找到了子串 沒有查找到子串KMP算法程序代碼#include#include/前綴函數(shù)值,用于KMP算法int GETNEXT(char t,int b)int NEXT10;NEXT0=-1;int j,k;j=0;k=-1;while(jstrlen(t)if (k=-1)|(tj=tk)j+;k+;NEXTj=k;else k=NEXTk;b=NEXTb;return b;int KMP(char s,char t)int a=0;int b=0;int m,n;m=strlen(s);/主串長(zhǎng)度n=strlen(t);/子串長(zhǎng)度coutendl+KMP算法+endl;while(a=m-n)while(sa=tb&b!=n)a+;b+;if(b=n)cout找到了相應(yīng)的子串位置在主串:a-b+1endl;return 0;b=GETNEXT(t,b);a=a-b;if(b=-1) b+;cout沒有找到匹配的子串!endl;return 0;void main() cout請(qǐng)輸入主串并且以0和回車結(jié)束endl;char s100;char t100;for(int m=0;msm;if(sm=0)sm=0;break;cout您輸入的主串為:;for(int o=0;ostrlen(s);+o)coutso;coutendl;cout主串長(zhǎng)度:;coutstrlen(s); coutendlendl;cout請(qǐng)輸入子串并且以0和回車結(jié)束endl;for(int n=0;ntn;if(tn=0)tn=0;break;cout您輸入的
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省煙臺(tái)市招遠(yuǎn)市2024-2025學(xué)年物理八上期末統(tǒng)考模擬試題含解析
- 廣東省深圳市南山區(qū)南山中學(xué)英文學(xué)校2025屆物理八上期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 西藏達(dá)孜縣2024年九上化學(xué)期末檢測(cè)試題含解析
- 天津市寧河縣蘆臺(tái)五中2024年九上化學(xué)期末監(jiān)測(cè)模擬試題含解析
- 山東省臨沂經(jīng)濟(jì)開發(fā)區(qū)四校聯(lián)考2025屆八上數(shù)學(xué)期末質(zhì)量檢測(cè)試題含解析
- 餐飲連鎖股東合作協(xié)議及市場(chǎng)拓展與品牌推廣
- 金融投資入門:基礎(chǔ)知識(shí)與規(guī)范操作
- 游戲直播平臺(tái)運(yùn)營(yíng)策略分析
- 2025至2030全球及中國(guó)鎖匠軟件行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 幼兒園教師必 備彈唱技巧詳解
- 2025年廣東高考政治試卷真題答案詳解講評(píng)(課件)
- 卡口及道路交通智能監(jiān)控系統(tǒng)方案設(shè)計(jì)
- 2025年家庭照護(hù)師職業(yè)資格考試試題及答案
- 呼吸機(jī)相關(guān)性肺炎的預(yù)防和護(hù)理
- 2025年綏化市中考化學(xué)試題卷(含答案解析)
- 門診口腔院感基礎(chǔ)知識(shí)培訓(xùn)
- 危重病人觀察和護(hù)理要點(diǎn)
- 砌體工程培訓(xùn)課件
- GB/T 45719-2025半導(dǎo)體器件金屬氧化物半導(dǎo)體(MOS)晶體管的熱載流子試驗(yàn)
- 2025-2030中國(guó)醫(yī)藥商業(yè)行業(yè)盈利態(tài)勢(shì)與投資潛力分析報(bào)告
- 保險(xiǎn)公司保單管理制度
評(píng)論
0/150
提交評(píng)論