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所示。

主站蜘蛛池模板: 五月天久久综合国产一区二区| 中文字幕久久波多野结衣| 婷婷丁香在线观看| 日本人妻一区二区三区不卡影院| 精品国产aⅴ一区二区三区| 欧美一区二区三区欧美日韩亚洲| 伊人激情综合网| 九九热精品视频在线| 免费人成黄页在线观看国产| 本亚洲精品网站| 国产日韩精品欧美一区喷| 国产精品区网红主播在线观看| 欧美在线视频a| 久久亚洲美女精品国产精品| 亚洲大尺度在线| 亚洲国内精品自在自线官| 伊人久综合| 在线精品亚洲国产| 久久成人18免费| 97亚洲色综久久精品| 在线精品自拍| 久久亚洲AⅤ无码精品午夜麻豆| 熟女日韩精品2区| 国产永久在线观看| 欧美怡红院视频一区二区三区| 亚洲第一av网站| 91伊人国产| 国产真实乱子伦精品视手机观看 | 成人午夜免费观看| 亚洲免费黄色网| 国产精品免费福利久久播放 | 青青热久麻豆精品视频在线观看| 91探花国产综合在线精品| 91啪在线| 92精品国产自产在线观看| 亚洲国产成人综合精品2020| 亚洲中文无码h在线观看| 亚洲高清在线天堂精品| 香蕉国产精品视频| 在线精品视频成人网| 欧美综合激情| 日韩精品成人在线| 亚洲中文字幕精品| 欧美一级色视频| 狠狠色噜噜狠狠狠狠色综合久| 亚洲日韩图片专区第1页| 国产又黄又硬又粗| 欧美一级大片在线观看| 性色生活片在线观看| 国产手机在线小视频免费观看| 亚洲乱码在线视频| 国产成人福利在线| 精品国产aⅴ一区二区三区| 在线精品亚洲一区二区古装| 亚洲婷婷在线视频| 欧美国产中文| 黄色网址手机国内免费在线观看| 久久窝窝国产精品午夜看片| 久草性视频| 欧美黄色a| 九九热精品视频在线| 国产精彩视频在线观看| 精品福利视频网| 大香网伊人久久综合网2020| 天天色天天操综合网| 国产香蕉在线视频| 日韩精品一区二区深田咏美 | 亚洲无码不卡网| 亚洲首页在线观看| 欧美激情二区三区| 欧美色综合网站| 亚洲高清在线播放| 亚洲妓女综合网995久久| 91热爆在线| 亚洲成人动漫在线观看| 九九热在线视频| 99r在线精品视频在线播放| 欧美国产日韩另类| 夜色爽爽影院18禁妓女影院| 免费jizz在线播放| 国产一级二级三级毛片| 欧美第二区|