數(shù)據(jù)結(jié)構(gòu) 串與模式匹配

數(shù)據(jù)結(jié)構(gòu) 串與模式匹配

ID:47841318

大小:122.50 KB

頁數(shù):11頁

時(shí)間:2019-11-23

數(shù)據(jù)結(jié)構(gòu) 串與模式匹配_第1頁
數(shù)據(jù)結(jié)構(gòu) 串與模式匹配_第2頁
數(shù)據(jù)結(jié)構(gòu) 串與模式匹配_第3頁
數(shù)據(jù)結(jié)構(gòu) 串與模式匹配_第4頁
數(shù)據(jù)結(jié)構(gòu) 串與模式匹配_第5頁
資源描述:

《數(shù)據(jù)結(jié)構(gòu) 串與模式匹配》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、《數(shù)據(jù)結(jié)構(gòu)與算法》實(shí)驗(yàn)指導(dǎo)V2017常熟理工學(xué)院《數(shù)據(jù)結(jié)構(gòu)與算法》實(shí)驗(yàn)指導(dǎo)與報(bào)告書_2017-2018_____學(xué)年第__1__學(xué)期專業(yè):物聯(lián)網(wǎng)工程實(shí)驗(yàn)名稱:串與模式匹配實(shí)驗(yàn)地點(diǎn):N6-210指導(dǎo)教師:聶盼紅計(jì)算機(jī)科學(xué)與工程學(xué)院2017常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11《數(shù)據(jù)結(jié)構(gòu)與算法》實(shí)驗(yàn)指導(dǎo)V2017實(shí)驗(yàn)四串與模式匹配【實(shí)驗(yàn)?zāi)康摹?、掌握串的存儲(chǔ)表示及基本操作;2、掌握串的兩種模式匹配算法:BF和KMP。3、了解串的應(yīng)用。【實(shí)驗(yàn)學(xué)時(shí)】2學(xué)時(shí)【實(shí)驗(yàn)預(yù)習(xí)】回答以下問題:1、串和子串的定義串:串是由零個(gè)

2、或多個(gè)任意字符組成的有限序列。子串:串中任意連續(xù)字符組成的子序稱為該串的字串。2、串的模式匹配串的模式匹配是數(shù)據(jù)結(jié)構(gòu)中字符串的一種基本運(yùn)算,給定一個(gè)子串,要求在某個(gè)字符串中找出與該子串相同的所有子串,這就是模式匹配。假設(shè)P是給定的子串,T是待查找的字符串,要求從T中找出與P相同的所有子串,這個(gè)問題成為模式匹配問題。P稱為模式,T稱為目標(biāo)。如果T中存在一個(gè)或多個(gè)模式為P的子串,就給出該子串在T中的位置,稱為匹配成功;否則匹配失敗【實(shí)1驗(yàn)內(nèi)容和要求】/1、按照要求完成程序exp4_1.c,實(shí)現(xiàn)串的相關(guān)操作。

3、調(diào)試并運(yùn)行如下測試數(shù)據(jù)給出運(yùn)行結(jié)果:求“Thisisaboy”的串長;比較”abc3”和“abcde“;表示空格常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11《數(shù)據(jù)結(jié)構(gòu)與算法》實(shí)驗(yàn)指導(dǎo)V2017比較”english”和“student“;比較”abc”和“abc“;截取串”white”,起始2,長度2;截取串”white”,起始1,長度7;截取串”white”,起始6,長度2;連接串”asddffgh”和”12344”;常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院11《數(shù)據(jù)結(jié)構(gòu)與算法》實(shí)驗(yàn)指導(dǎo)V2017實(shí)驗(yàn)代碼:#inclu

4、de#include#defineMAXSIZE100#defineERROR0#defineOK1/*串的定長順序存儲(chǔ)表示*/typedefstruct{chardata[MAXSIZE];intlength;}SqString;intstrInit(SqString*s);/*初始化串*/intstrCreate(SqString*s);/*生成一個(gè)串*/intstrLength(SqString*s);/*求串的長度*/intstrCompare(SqStri

5、ng*s1,SqString*s2);/*兩個(gè)串的比較*/intsubString(SqString*sub,SqString*s,intpos,intlen);/*求子串*/intstrConcat(SqString*t,SqString*s1,SqString*s2);/*兩個(gè)串的連接*//*初始化串*/intstrInit(SqString*s){s->length=0;s->data[0]='