999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種改進的字符串模式匹配算法

2017-07-20 14:21:52蔡婷楊衛帥
物聯網技術 2017年7期

蔡婷++楊衛帥

摘 要:高效快速的字符串模式匹配算法有助于網絡信息處理的相關應用。文章在分析相關字符串匹配算法的基礎之上,針對模式串中字符重復次數較多匹配應用,提出了一種快速的字符串匹配改進算法。該算法利用文本串中當前失敗字符與模式串右對齊端的文本串下一個字符來啟發模式串向右移動。結合這兩個字符在模式串中匹配的情況及以這兩個字符為首末的特征字符串在模式串中的匹配情況來使計算模式串向右移動最大距離,盡可能地排除無效匹配。實驗結果表明,該算法能有效減少模式匹配中字符的比較次數,提高模式匹配效率。

關鍵詞:字符串匹配;KMP算法;BM算法;Sunday算法;移動距離

中圖分類號:TP301.6 文獻標識碼:A 文章編號:2095-1302(2017)07-00-03

0 引 言

隨著信息技術的高速發展,如何在海量數據中提取有用信息是網絡信息技術研究的熱點。字符串模式匹配主要用于文本串的處理領域,如信息檢索、拼寫檢查、數據處理、信息測試、數據壓縮、搜索引擎、網絡入侵檢測、DNA序列匹配等。如何用高效快速的字符串模式匹配算法解決網絡信息處理的相關問題已成為目前研究的重要領域之一。

字符串匹配問題的形式化定義是[1]:在有限字母表∑上的字符序列上,給定一個長度為n的文本串T[0…n-1]以及一個長度為m的模式串P[0…m-1],m

1 相關算法介紹

1.1 KMP算法

KMP算法是經典的字符串匹配算法,主要在模式匹配過程中執行T[i]和P[j]的匹配檢查。若T[i]=P[j],則繼續匹配T[i+1]與P[j+1];若T[i]≠P[j],則分成兩種情況:若j=0,模式串P向右移一位,繼續匹配T[i+1]和P[0];若1

(1)

其中:

1.2 Horspool算法

Horspool算法是字符串匹配算法中從右向左匹配的創始者。當失配發生時,模式串P要向右移動,T串的失配字符T[i]可能是正確結果中的一個元素,也可能不是。如果不是,可將P串的首位與T串中的T[i+1]對齊,繼續進行比較;如果是,那么從P串失配位置j開始向左任意一位與P[i]相等的字符c確定的比較位置可能完全匹配,其產生的位移依次為k1,k2…,ki(k1為j-location(c))。綜合這兩種情況,選擇位移最小值k1,以保證不會錯過正確匹配的情況。

1.3 BM算法

BM(Boyer-Moore,BM)算法是基于Horspool算法的一種改進算法,其廣泛應用于實際項目中。BM算法實際包含兩個并行算法,壞字符算法和好后綴算法。匹配時,同Horspool算法;當失配時,計算P串失配字符的右邊已經匹配的字符串(稱為“好后綴”),在P串中其他位置出現的位置得到一個右移大小值(實際該值是預先計算好的),將該值與Horspool失配時P串移動大小的值進行比較,并選擇其中較大者。P串移動后,繼續進行比較。

1.4 Sunday算法

Sunday算法是一種高效算法,可以看成BM算法的簡化形式。在匹配過程中,模式串P不一定要按從左向右的順序比較或從右向左進行匹配。在失配情況下,選中T串與P串右對齊端的下一個字符T[i],從P串末位向左尋找與該字符相等的字符P[j],找到后,T[i]與P[j]對齊,繼續從右到左比較;若找不到,則P串左端與T[i]的下一個字符對齊,從右到左比較。

2 改進的字符串匹配算法

字符串模式匹配算法要解決的關鍵問題是在模式與文本某個位置比較失敗時,如何使模式串窗口向右移動最佳距離,盡量跳過無需比較的字符,減少匹配次數,并使產生這種距離的算法復雜度降低且易于理解。通過對現有各種字符串匹配算法的研究,我們提出一種改進算法,該算法主要針對模式串重復率較多的情況使用。當文本串T與模式串P發生匹配時,判斷模式串最右端對應文本串下一個字符Ti+m是否在模式串中,若不在,匹配規則同Sunday算法;若在,記下在模式串P0P1…Pm-1中的位置q,同時記下文本串中當前失敗的字符Ti+j在模式串P0P1…Pj-1出現的位置k,根據q、k的值以及Ti+j+1Ti+j+2…Ti+m-1與Pk+1Pk+2…Pm-1的比較情況來計算模式串向右移動的最大距離。

2.1 比較順序

與BM算法類似,在模式串的匹配過程中,字符串采用從右向左的順序依次比較。

2.2 模式串移動距離的確定

假設當前匹配的比較窗口是TiTi+1…Ti+m-1,在某次比較過程中失敗于Pj處,即后m-j個字符匹配成功:Ti+j+1Ti+j+2…Ti+m-1=Pj+1Pj+2…Pm-1,而Ti+j≠Pj,如圖1所示。

主站蜘蛛池模板: 狠狠色丁婷婷综合久久| 国产又大又粗又猛又爽的视频| 55夜色66夜色国产精品视频| 国产欧美日本在线观看| 亚洲国产精品无码AV| 亚洲av日韩av制服丝袜| 中文字幕亚洲专区第19页| 一本色道久久88| 2020精品极品国产色在线观看 | 91在线一9|永久视频在线| 国产全黄a一级毛片| 欧美一区中文字幕| 久久青青草原亚洲av无码| 国产亚洲精品资源在线26u| 国产精品2| 尤物国产在线| 欧美精品亚洲日韩a| 激情爆乳一区二区| 中国国产高清免费AV片| 日韩黄色精品| 国产菊爆视频在线观看| 成人在线不卡视频| 国产精品女同一区三区五区| 伊人色综合久久天天| 亚洲天堂视频网站| 狠狠做深爱婷婷综合一区| 国产综合色在线视频播放线视| 欧美激情综合一区二区| 亚洲一级色| 国产va免费精品观看| 国产成在线观看免费视频| av无码久久精品| 一本色道久久88综合日韩精品| 视频一区视频二区日韩专区| 亚洲精品视频免费看| 欧美日韩国产精品va| 国产香蕉97碰碰视频VA碰碰看| 美女内射视频WWW网站午夜| 国产杨幂丝袜av在线播放| 8090午夜无码专区| 久久无码av三级| 天天干天天色综合网| 性欧美精品xxxx| 无码区日韩专区免费系列 | 一区二区三区国产精品视频| 国产对白刺激真实精品91| 在线精品欧美日韩| 青草娱乐极品免费视频| 日韩精品毛片| 婷婷成人综合| 伊人AV天堂| 国产女人爽到高潮的免费视频 | 久青草网站| 国产欧美日韩免费| 午夜高清国产拍精品| 99热这里只有精品2| 无码中文字幕精品推荐| 亚洲中文字幕手机在线第一页| 亚洲综合天堂网| 麻豆精品在线| av午夜福利一片免费看| 免费看a级毛片| 2020极品精品国产| 亚洲天堂日本| 国产区在线观看视频| 99成人在线观看| 992tv国产人成在线观看| 午夜欧美理论2019理论| 久久黄色小视频| 国产新AV天堂| 18黑白丝水手服自慰喷水网站| 91网站国产| 欧美一道本| 亚洲综合婷婷激情| 四虎成人在线视频| 尤物国产在线| 网友自拍视频精品区| 成人字幕网视频在线观看| 又猛又黄又爽无遮挡的视频网站| 国产亚洲精| 久久精品无码专区免费| 国内精品小视频在线|