亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        BMH2C單模匹配算法的研究與改進(jìn)

        2014-06-02 07:50:14王艷霞江艷霞王亞剛
        計(jì)算機(jī)工程 2014年3期
        關(guān)鍵詞:個(gè)字符右移模式匹配

        王艷霞,江艷霞,王亞剛,李 燁

        BMH2C單模匹配算法的研究與改進(jìn)

        王艷霞,江艷霞,王亞剛,李 燁

        (上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200082)

        BMH2C算法綜合BMH和BMHS算法,利用當(dāng)前窗口字符[]及其下一字符[+1]組成的雙字符串來(lái)決定模式串右移量,具有比BM算法、BMH算法、BMHS算法更優(yōu)的性能。但對(duì)于雙字符串在模式串中出現(xiàn)一次及以上的情況,BMH2C算法中的模式串右移量仍有待進(jìn)一步增大,從而減少當(dāng)前窗口右移次數(shù),提高BMH2C算法的匹配效率。為此,在BMH2C算法的基礎(chǔ)上提出一種改進(jìn)算法,該算法考慮雙字符串[][+1]在模式串中出現(xiàn)的次數(shù),以及該雙字符串在模式串中對(duì)應(yīng)位置的后繼字符與字符[+2]的相等關(guān)系。改進(jìn)算法利用2個(gè)右移數(shù)組和1個(gè)模式串預(yù)處理數(shù)組,在匹配過(guò)程中通過(guò)判斷字符[+2]與模式串預(yù)處理數(shù)組中相應(yīng)字符是否相等,從而選擇2個(gè)右移數(shù)組之一的對(duì)應(yīng)值作為當(dāng)前窗口的右移量。實(shí)驗(yàn)結(jié)果顯示,在相同條件下,對(duì)于當(dāng)前窗口移動(dòng)次數(shù)和匹配所耗時(shí)間,BMH2C改進(jìn)算法比BMH2C算法分別平均減少11.33%和9.40%,有效提高了匹配效率。

        模式匹配;BMH2C算法;字符串;右移;預(yù)處理

        1 概述

        模式匹配是指在文本串=[0,1,…,-1]中找到一個(gè)模式串=[0,1,…,-1](≥),即模式串是文本串的子串[1]。模式匹配有單模匹配和多模匹配2種[2],經(jīng)典的單模匹配算法有KMP算法[3]、BM算法[4]。KMP算法的字符比較是從左到右進(jìn)行的,且模式串右移量一般較小,而B(niǎo)M算法采用了從右到左的匹配,其右移量由壞字符規(guī)則和好后綴規(guī)則共同決定,最大值可達(dá)到模式串的長(zhǎng)度,因而B(niǎo)M算法比KMP算法更優(yōu),得到了極為廣泛的應(yīng)用[5]。與此同時(shí),BM算法的各種改進(jìn)算法也層出不窮,如BMH算法、BMHS算法、BMH2C算法等。這3種算法都只采用了壞字符規(guī)則,不同的是BMH算法利用當(dāng)前窗口字符決定模式串右移量,BMHS算法利用當(dāng)前窗口下一個(gè)字符決定右移量,而B(niǎo)MH2C算法利用當(dāng)前窗口字符及其下一個(gè)字符組成的雙字符串決定右移量。它們簡(jiǎn)化了預(yù)處理階段的時(shí)間開(kāi)銷(xiāo)[6],匹配效率比BM算法高。而且BMH2C算法利用了雙字符串在模式串中出現(xiàn)的概率比單個(gè)字符小的特點(diǎn),匹配性能較前幾者更佳。但是對(duì)于雙字符串在模式串中出現(xiàn)一次及以上的情況,BMH2C算法無(wú)法做到每次獲得最大右移量,匹配過(guò)程中當(dāng)前窗口移動(dòng)次數(shù)有待進(jìn)一步降低以提高匹配效率。

        針對(duì)上述BMH2C算法存在的缺陷,本文提出一種改進(jìn)算法I_BMH2C。考慮到當(dāng)前窗口雙字符串[][+1]在模式串中出現(xiàn)的次數(shù),以及雙字符串的后繼字符[+2]與該雙字符串在模式串中的后繼字符是否相等,I_BMH2C在BMH2C算法的基礎(chǔ)上分別新增一個(gè)模式串右移數(shù)組和一個(gè)模式串預(yù)處理數(shù)組。匹配過(guò)程中通過(guò)判斷字符[+2]與模式串預(yù)處理數(shù)組中相應(yīng)字符是否相等,從而選擇右移數(shù)組。

        2 BM算法及其相關(guān)算法

        2.1 BM算法

        BM算法的三大特點(diǎn)是采用了從右至左的掃描方式、壞字符規(guī)則以及好后綴規(guī)則。首先文本串[0,1,…,-1]的最左端與模式串[0,1,…,-1](為文本串的長(zhǎng)度,為模式串的長(zhǎng)度,≥)的最左端對(duì)齊,然后在當(dāng)前窗口字符[]處從右至左掃描,依次比較[]和[-1],[-1]和[-2],…,[-+1]和[0]。若發(fā)現(xiàn)某處不匹配,則根據(jù)預(yù)處理好的數(shù)組和數(shù)組,將模式串向右移動(dòng)兩者中較大者的距離,依次重復(fù)上述步驟,直到匹配成功或是文本串中的字符全部比較完。

        2.1.1 壞字符規(guī)則

        數(shù)組的定義分2種情況:字符不在模式串中。字符在模式串中,設(shè)為在模式串中最右位置處的下標(biāo)。

        數(shù)組的定義如下:

        在從右至左的掃描過(guò)程中,若文本串中某個(gè)字符[-](0≤<)與模式串中的字符[--1]不相等,則稱(chēng)[-]為壞字符,根據(jù)預(yù)先處理好的數(shù)組將模式串向右移動(dòng)[[-]]個(gè)字符。

        2.1.2 好后綴規(guī)則

        數(shù)組計(jì)算公式如下:

        假設(shè)匹配進(jìn)行到比較文本串字符[-+1,-+2,…,]和模式串字符[0,1,…,-1],從右至左的掃描過(guò)程中,發(fā)現(xiàn)[-++1]與[]失配的同時(shí),已有[-++2,-++3,…,]與[+1,+2,…,-1]匹配成功,則稱(chēng)[-++ 2,-++3,…,]為好后綴。此時(shí)模式串根據(jù)預(yù)先計(jì)算好的[]值向右移動(dòng)相應(yīng)的距離。

        關(guān)于壞字符規(guī)則和好后綴規(guī)則,文獻(xiàn)[7]研究表明:BM算法中模式串的右移量在絕大多數(shù)情況下取決于壞字符規(guī)則,且壞字符規(guī)則較好后綴規(guī)則簡(jiǎn)單易于實(shí)現(xiàn)。

        2.2 BMH算法及BMHS算法

        文獻(xiàn)[8]提出了一種改進(jìn)的BM算法——BMH算法。該算法只使用了壞字符規(guī)則。在匹配過(guò)程中若發(fā)現(xiàn)某處不匹配,則根據(jù)當(dāng)前窗口字符[]來(lái)啟發(fā)模式串的右移量。令[]=,則具體的移動(dòng)公式如下:

        由于數(shù)組的預(yù)處理比數(shù)組的預(yù)處理要簡(jiǎn)單得多,而且BMH算法省去了兩者比較大小這一步驟,因此在實(shí)際匹配過(guò)程中BMH算法效率要高于BM算法。

        在BMH算法的基礎(chǔ)上,文獻(xiàn)[9]提出了BMHS算法,該算法與BMH算法的思想基本一致[10-11],不同之處在于BMHS算法是利用當(dāng)前窗口的下一個(gè)字符[+1]來(lái)啟發(fā)模式串的右移量。

        2.3 BMH2C算法

        模式匹配算法效率的高低主要取決于模式串向右移動(dòng)的次數(shù),即當(dāng)前窗口向右移動(dòng)的次數(shù)。當(dāng)失配發(fā)生時(shí),若模式串每次移動(dòng)盡可能大的距離,顯然減少了當(dāng)前窗口總的移動(dòng)次數(shù),可以有效地提高匹配效率。因此,文獻(xiàn)[12]在BMH和BMHS算法的基礎(chǔ)上提出了一種新的改進(jìn)算 法——BMH2C算法。該算法的基本思想也是基于壞字符規(guī)則,與BMH、BMHS算法的不同之處在于利用了當(dāng)前窗口字符[]及其下一個(gè)字符[+1]所組成的雙字符串[][+1]來(lái)啟發(fā)當(dāng)前窗口的右移距離:若雙字符串[][+1]不在模式串中,且[+1]與[0]不相等,則模式串右移+1;若字符串[][+1]不在模式串中,但[+1]與[0]相等,則模式串右移;若[][+1]出現(xiàn)在模式串[][+1](0≤≤-2)處,則右移模式串使得兩者對(duì)齊。

        BMH2C算法的預(yù)處理部分可以用一個(gè)二維數(shù)組來(lái)表示,設(shè)字符集為ASCII碼,大小從0到255,則數(shù)組預(yù)處理算法如下:

        //將字符集中任意2個(gè)字符組成的字符串的skip值初始化為//m+1

        for i=0 to 255{

        for j=0 to 255{

        skip[i][j]=m+1; j++;

        }

        i++;

        }

        //若任意2個(gè)字符組成的字符串的后一個(gè)字符與p[0]相等,則//重新賦值為m

        for i=0 to 255{

        skip[i][p[0]]=m; i++;

        }

        //模式串中的字符串根據(jù)其位置來(lái)確定skip值

        for i=0 to m-1{

        skip[p[i]][p[i+1]]=m-i-1; i++;

        }

        從右向左掃描的過(guò)程中,若遇到壞字符,則模式串向右移動(dòng)[[]][[+1]]個(gè)字符。下面用一個(gè)實(shí)例來(lái)說(shuō)明BMH2C算法的匹配過(guò)程,如圖1所示:文本串=“decbedade abaccdcdeadbad”,模式串=“adbad”。由圖可以看出,當(dāng)前窗口一共向右移動(dòng)了6次。

        圖1 BMH2C算法的匹配過(guò)程

        設(shè)字符集中每個(gè)字符在模式串中出現(xiàn)的概率為(0<< 1),則2個(gè)字符同時(shí)出現(xiàn)在模式串中的概率為2。顯然,雙字符串出現(xiàn)在模式串中的概率遠(yuǎn)低于單個(gè)字符出現(xiàn)在模式串中的概率,在實(shí)際匹配過(guò)程中,BMH2C算法的平均移動(dòng)量較BMH和BMHS算法都大,有效減少了模式串向右移動(dòng)的次數(shù),匹配效果更好。

        3 改進(jìn)的BMH2C算法

        3.1 I_BMH2C算法設(shè)計(jì)思路

        為了進(jìn)一步提高BMH2C算法的效率,本文提出了I_ BMH2C算法。通過(guò)觀(guān)察文本串和模式串可知:一部分雙字符串不會(huì)在模式串中出現(xiàn),另一部分雙字符串僅在模式串中出現(xiàn)一次,還有較少一部分雙字符串可出現(xiàn)2次或2次以上。此時(shí)需分3種情況討論:

        (1)當(dāng)[][+1]在模式串中出現(xiàn)0次時(shí),模式串右移,直接跳過(guò)該雙字符串。

        (2)當(dāng)[][+1]在模式串中出現(xiàn)1次時(shí),設(shè)在[][+1] (0≤≤-3)處:若雙字符串[][+1]的后一個(gè)字符[+2]與雙字符串[][+1]的后一個(gè)字符[+2]不相等,則模式串右移,直接跳過(guò)[][+1];若[+2]=[+2],則模式串右移--1個(gè)字符。另外還有一種特殊情況需單獨(dú)考慮:當(dāng)[][+1]出現(xiàn)在模式串[-2][-1]處時(shí),由于[-1]后面沒(méi)有字符,此時(shí)模式串向右移動(dòng)一個(gè)字符。

        (3)當(dāng)[][+1]在模式串中出現(xiàn)2次或2次以上,模式串按從右向左統(tǒng)計(jì),設(shè)第1次出現(xiàn)在[][+1](1≤≤-2)處,第2次出現(xiàn)在[][+1](0≤<)處:若[+2]≠[+2],則模式串右移--1個(gè)字符,否則右移--1個(gè)字符。

        該算法的具體設(shè)計(jì)思路為:在BMH2C算法原有右移數(shù)組1的基礎(chǔ)上新增一個(gè)模式串右移數(shù)組2,在匹配過(guò)程中若發(fā)現(xiàn)某處失配,則判斷[][+1]的后一個(gè)字符[+2]和[][+1]的后一個(gè)字符[+2]是否相等,若不等則將模式串向右移動(dòng)2[[]][[+1]]個(gè)字符,否則移動(dòng)1 [[]][[+1]]個(gè)字符。其中,2數(shù)組的設(shè)計(jì)思想是:首先初始化2數(shù)組,方法同1數(shù)組;然后按模式串從右至左統(tǒng)計(jì)各雙字符串[][+1](0≤<-1)在模式串中出現(xiàn)的次數(shù),當(dāng)統(tǒng)計(jì)值為2時(shí),假設(shè)此時(shí)統(tǒng)計(jì)進(jìn)行到[][+1] (0≤<-2),則將2[[]][[+1]]重新賦值為--1;此外還需單獨(dú)考慮上述(2)中的一種特殊情況,由于[-1]后面沒(méi)有字符,2[[-2]][[-1]]=1。由1和2數(shù)組的對(duì)比可知,2數(shù)組的值大于或等于1的對(duì)應(yīng)值,因此,該算法可使得模式串每次向右移動(dòng)盡可能大的距離,從而提高匹配效率。

        3.2 I_BMH2C算法的預(yù)處理

        預(yù)處理階段需用到2個(gè)跳躍數(shù)組1和2。1的計(jì)算方法和BMH2C算法中的一樣,此處主要講解2的求解方法。

        //將字符集中任意2個(gè)字符組成的字符串的skip2值初始化為//m+1

        for i=0 to 255{

        for j=0 to 255{

        skip2[i][j]=m+1;j++;

        }

        i++;

        }

        //若任意2個(gè)字符組成的字符串的后一個(gè)字符與p[0]相等,則//重新賦值為m

        for i=0 to 255{

        skip2[i][p[0]]=m; i++;

        }

        //從右至左統(tǒng)計(jì)模式串中雙字符串p[i]p[i+1]出現(xiàn)的次數(shù)

        for i=m-2 to 0{

        統(tǒng)計(jì)次數(shù)

        //當(dāng)統(tǒng)計(jì)到某個(gè)雙字符串出現(xiàn)第2次時(shí)計(jì)算出對(duì)應(yīng)的右移 //量,計(jì)算方法與BMH2C算法一樣

        if(字符串p[i]p[i+1]出現(xiàn)的次數(shù)==2)

        Then skip2[p[i]][p[i+1]]=m-i-1;

        endif

        i––;

        }

        //當(dāng)t[k]t[k+1]出現(xiàn)在p[m-2][m-1]處時(shí),模式串向右移動(dòng)一//個(gè)字符

        skip2[p[m-2]][p[m-1]]=1;

        由于在匹配過(guò)程中要判斷[+2]與[+2]是否相等,預(yù)處理階段還涉及到一個(gè)數(shù)組[][]。假設(shè)[][+1]出現(xiàn)在模式串[][+1]處,則[[]][[+1]]存放的是字符[+2],而+2又可用-1[[]][[+1]]+1表示,因此[[]][[+1]]=[-1[[]][[+1]]+1]。

        //prep數(shù)組的預(yù)處理

        for i=0 to 255{

        for j=0 to 255{

        prep[i][j]=p[m-skip1[i][j]+1]; j++;

        }

        i++;

        }

        3.3 I_BMH2C算法匹配過(guò)程

        假設(shè)匹配進(jìn)行到比較[0,1,…,-1]和[-+1,-+2,…,],從右至左比較[]和[-1],[-1]和[-2],[-2]和[-3],…,若發(fā)現(xiàn)某處失配,則判斷[[]] [[+1]]與[+2]是否相等,此時(shí)分2種情況討論:

        (1)若不相等,則模式串右移2[[]][[+1]]。

        (2)若相等,則模式串右移1[[]][[+1]]。

        以上2種情況已包含了雙字符串[][+1]不在模式串中的情況,所以不必單獨(dú)考慮。匹配算法偽代碼描述如下:

        for k=m-1 to n-1

        {//文本串與模式串的最左端對(duì)齊,t[k]為當(dāng)前窗口字符

        i=k; j=m-1;

        While(t[i]==p[j])//從右至左依次掃描,若某處失配則跳出循環(huán)

        i––; j––;

        EndWhile

        If(j==-1)

        Then return(i+1);

        //匹配成功,返回模式串在文本串中出現(xiàn)的指針

        Endif

        If(prep[t[k]][t[k+1]]!=t[k+2])

        Then k=k+skip2[t[k]][t[k+1]];//采用改進(jìn)的I_BMH2C算法//將當(dāng)前窗口右移skip2[t[k]][t[k+1]]

        Else Then k=k+skip1[t[k]][t[k+1]];

        Endif

        }

        下面用實(shí)例來(lái)具體說(shuō)明I_BMH2C算法的匹配過(guò)程,如圖2所示。

        圖2 I_BMH2C匹配過(guò)程

        第1輪匹配時(shí),當(dāng)前窗口的指針=4,雙字符串[4][5]不在模式串中,模式串右移1[[4]][[5]]=2[[4]] [[5]]=5+1=6個(gè)字符;第2輪匹配時(shí),當(dāng)前窗口的指針= 4+6=10,雙字符串[10][11]在模式串[2][3]處出現(xiàn)1次,由于[4]≠[12],模式串右移2[[10]][[11]]=5個(gè)字符;第3輪匹配時(shí),當(dāng)前窗口的指針=10+5=15,雙字符串[15][16]不在模式串中,模式串右移1[[15]][[16]]=2 [[15]][[16]]=6;第4輪匹配時(shí),當(dāng)前窗口的指針=15+6=21,雙字符串[21][22]在模式串[3][4]處出現(xiàn)1次,模式串右移1[[21]][[22]]=1個(gè)字符;第5輪匹配成功。整個(gè)過(guò)程模式串右移了5次。

        4 實(shí)驗(yàn)結(jié)果

        從理論上來(lái)講,I_BMH2C算法產(chǎn)生最大右移量的概率比BM、BMH、BMHS、BMH2C算法都高,當(dāng)前窗口移動(dòng)次數(shù)會(huì)相應(yīng)減少,匹配效果更優(yōu)。

        本文實(shí)驗(yàn)是在虛擬機(jī)上進(jìn)行的,實(shí)驗(yàn)環(huán)境為:物理機(jī)系統(tǒng)Microsoft Windows XP SP3,配置為Intel CPU 2.66 GHz,內(nèi)存3.25 GB;虛擬機(jī)為VMware Workstation 9,系統(tǒng)Ubuntu11.10,配置為內(nèi)存1 GB,硬盤(pán)50 GB,編譯器為 gcc 4.6.1。

        實(shí)驗(yàn)1采用的是一段純英文文本,大小為20.5 MB,通過(guò)BM、BMH、BMHS、BMH2C、I_BMH2C這5種算法對(duì)不同長(zhǎng)度模式串分別進(jìn)行匹配,統(tǒng)計(jì)匹配過(guò)程中窗口右移次數(shù);實(shí)驗(yàn)2是對(duì)大小為55.1 MB的純英文文本統(tǒng)計(jì)各種算法匹配用時(shí)。

        實(shí)驗(yàn)1測(cè)試5種算法的窗口右移次數(shù),結(jié)果如表1 所示。

        表1 窗口右移次數(shù)

        實(shí)驗(yàn)2測(cè)試各種算法匹配用時(shí),結(jié)果如表2所示。

        表2 匹配消耗時(shí)間 ms

        由實(shí)驗(yàn)1和實(shí)驗(yàn)2可以看出,在模式串一定的情況下,采用I_BMH2C算法所需的窗口移動(dòng)次數(shù)和匹配所耗時(shí)間比BM、BMH、BMHS、BMH2C算法均小,且由計(jì)算可得:I_BMH2C算法的當(dāng)前窗口移動(dòng)次數(shù)比BMH2C的平均少11.33%;I_BMH2C算法的匹配所耗時(shí)間比BMH2C的平均少9.40%。因此,本文對(duì)BMH2C的改進(jìn)算法I_BMH2C有效地減少了模式匹配過(guò)程中窗口右移次數(shù),也減少了匹配所耗時(shí)間,提高了匹配效率。

        5 結(jié)束語(yǔ)

        模式匹配效率的高低直接影響到計(jì)算機(jī)系統(tǒng)性能的好壞。本文介紹了經(jīng)典的BM算法及其改進(jìn)算法BMH和BMHS算法,重點(diǎn)介紹了BMH2C算法,并在該算法的基礎(chǔ)上提出了一種改進(jìn)的I_BMH2C算法,I_BMH2C算法有效提高了產(chǎn)生最大右移量的概率,使得匹配過(guò)程中窗口移動(dòng)次數(shù)減小,匹配速度更快,較BM、BMH、BMHS、BMH2C算法更優(yōu)。

        [1] 錢(qián) 穎, 劉國(guó)華, 陳子陽(yáng), 等. 模式匹配技術(shù)[J]. 燕山大學(xué)學(xué)報(bào), 2006, 30(4): 340-344.

        [2] 張 娜, 張 劍. 一個(gè)快速的字符串模式匹配改進(jìn)算法[J].微電子學(xué)與計(jì)算機(jī), 2007, 24(4): 102-105.

        [3] 楊戰(zhàn)海. KMP模式匹配算法的研究與分析[J]. 計(jì)算機(jī)與數(shù)字工程, 2010, 38(5): 38-41.

        [4] Boyer R S, Moore J S. A Fast String Searching Algorithm[J]. Communications of the ACM, 1977, 20(10): 762-722.

        [5] 揣錦華, 鄭 景, 關(guān) 銳. BM模式匹配算法的研究和改 進(jìn)[J]. 電子設(shè)計(jì)工程, 2012, 20(19): 52-54.

        [6] 單懿慧, 蔣玉明, 田詩(shī)源. 面向入侵檢測(cè)的改進(jìn)BMHS模式匹配算法[J]. 計(jì)算機(jī)工程, 2009, 35(24): 170-173.

        [7] 劉勝飛, 張?jiān)迫? 一種改進(jìn)的BMH模式匹配算法[J]. 計(jì)算機(jī)科學(xué), 2008, 25(11): 164-166.

        [8] Horspool R N. Practical Fast Searching in Strings[J]. Software Practice and Experience, 1980, 10(6): 501-506.

        [9] Sunday D M. A Very Fast Substring Search Algorithm[J]. Communications of the ACM, 1990, 33(3): 132-142.

        [10] 張紅梅,范明鈺. 模式匹配BM算法改進(jìn)[J]. 計(jì)算機(jī)應(yīng)用研究, 2009, 26(9): 3249-3252.

        [11] 萬(wàn)曉榆, 楊 波, 樊自甫. 改進(jìn)的Sunday模式匹配算法[J].計(jì)算機(jī)工程, 2009, 35(7): 125-126, 129.

        [12] 錢(qián) 屹, 侯義斌. 一種快速的字符串匹配算法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2004, 25(3): 410-413.

        編輯 顧逸斐

        Research and Improvement of BMH2C Single Pattern Matching Algorithm

        WANG Yan-xia, JIANG Yan-xia, WANG Ya-gang, LI Ye

        (School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200082, China)

        BMH2C algorithm combines BMH and BMHS algorithm. In BMH2C algorithm, the right shift distance of pattern string is determined by the double string, which is made of the character[] of the current window and the next character[+1]. BMH2C algorithm has better performance than BM, BMH and BMHS algorithm. Nevertheless, the right shift distance of pattern string in the BMH2C algorithm remains to be further increased, when the double string appears for one time or more than one time. Do like that, the number of window’s shift will be greatly reduced and the matching speed improved effectively. Therefore, an improved algorithm based on BMH2C algorithm is proposed. It takes the number of appearance in the pattern string of the double string[][+1] into account. And the equality relationship of character[+2] and the character which is followed the appropriate position of[][+1] in the pattern string is considered. The improved algorithm uses two right shift arrays and a pretreated array of the pattern strings. During the matching, the corresponding value of one of the two right shift arrays is selected as the right shift distance of current window, by judging the equality relationship of character[+2] and the corresponding character in the pretreated array. Experimental results show that the improved BMH2C algorithm is respectively 11.33% and 9.40% less than BMH2C algorithm on average in the same conditions, for the matching time and the number of window’s shift. With the algorithm, the matching speed is improved effectively

        pattern matching; BMH2C algorithm; character string; right shift; pretreatment

        1000-3428(2014)03-0298-05

        A

        TP301.6

        國(guó)家自然科學(xué)基金資助項(xiàng)目(61074016, 61074087);上海市研究生創(chuàng)新基金資助項(xiàng)目(JWCXSL1202);上海市教育委員會(huì)科研創(chuàng)新基金資助項(xiàng)目(12ZZ144)。

        王艷霞(1986-),女,碩士研究生,主研方向:3G/4G網(wǎng)絡(luò)通信技術(shù),模式識(shí)別;江艷霞,講師;王亞剛,教授;李 燁,高級(jí)工程師。

        2013-04-03

        2013-06-02 E-mail:jiangyanxia@usst.edu.cn

        10.3969/j.issn.1000-3428.2014.03.063

        猜你喜歡
        個(gè)字符右移模式匹配
        “水溶液中的離子平衡”的“不一定”
        華容道玩法大解密
        基于模式匹配的計(jì)算機(jī)網(wǎng)絡(luò)入侵防御系統(tǒng)
        電子制作(2019年13期)2020-01-14 03:15:32
        具有間隙約束的模式匹配的研究進(jìn)展
        OIP-IOS運(yùn)作與定價(jià)模式匹配的因素、機(jī)理、機(jī)制問(wèn)題
        太極拳養(yǎng)生八式(上)
        少林與太極(2018年8期)2018-08-26 05:53:58
        基于散列函數(shù)的模式匹配算法
        C語(yǔ)言位運(yùn)算中鮮為人知的事
        軟件工程(2014年5期)2014-09-24 11:53:38
        不讓長(zhǎng)文件名成為“絆腳石”
        電腦迷(2014年8期)2014-04-29 07:37:40
        工資報(bào)表計(jì)算機(jī)軟件論述
        卷宗(2011年9期)2011-05-14 17:51:19
        国产精品人伦一区二区三| 无码精品一区二区三区超碰| 成人精品免费av不卡在线观看| 亚洲中文字幕第一页免费| 7194中文乱码一二三四芒果| 久久99久久99精品中文字幕| 制服丝袜天堂国产日韩| av中文字幕在线资源网| 伊人加勒比在线观看视频| 特黄做受又硬又粗又大视频小说| 69精品丰满人妻无码视频a片| AV熟妇导航网| 一区二区三区国产精品麻豆| 国产乱人对白| 久久久久久久无码高潮| 中文无码免费在线| av在线高清观看亚洲| 国产精品一卡二卡三卡| 亚洲国产AV无码男人的天堂| 亚洲高清在线观看免费视频| 日韩人妻精品视频一区二区三区| 夜夜揉揉日日人人青青| 波多野结衣一区| 亚洲高清av一区二区| 一边摸一边做爽的视频17国产| 一本一道久久a久久精品综合| 一区五码在线| 日本免费大片一区二区三区 | 六月丁香综合在线视频| 日本一区二区精品88| 亚洲精品区二区三区蜜桃| 操风骚人妻沉沦中文字幕| 国产精品igao视频网| 国产在线精品福利大全| 国产尤物自拍视频在线观看| 丰满熟女高潮毛茸茸欧洲视频| 99久久久无码国产精品9| 一区二区三区熟妇人妻18| 人妻久久久一区二区三区蜜臀| 丰满人妻被黑人中出849| 偷拍熟女亚洲另类|