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

一種快速的單模式匹配算法

2008-01-01 00:00:00蔡曉妍戴冠中楊黎斌
計算機應用研究 2008年1期

摘要:在對Boyer Moore(BM)算法及其改進的Tuned Boyer Moore(TunedBM)算法進行分析的基礎上,提出了一種更加快速的單模式匹配算法——NFS。該算法利用當前嘗試中匹配失敗字符的位置信息進行更大的嘗試位置移動,使算法具有更高的效率。實驗結果表明,NFS算法的性能優(yōu)于同類的其他算法,特別是在模式長度較短的情況下,優(yōu)勢更為明顯。

關鍵詞:模式匹配;BM算法;TunedBM算法;新的快速搜索算法

中圖分類號:TP301.6文獻標志碼:A

文章編號:1001-3695(2008)01-0045-02

0引言

模式匹配是計算機技術領域的一個基本問題。它在入侵檢測、數據壓縮、WWW搜索引擎以及計算機病毒特征碼匹配等系統中都有十分重要的應用價值。模式匹配就是在給定的文本串中查找模式串的出現次數。若出現次數為0,稱匹配失敗;若出現的次數大于或等于1,則稱匹配成功。

本文使用P=P[0..m-1]表示要匹配的模式串,長度為m;文本串表示為T=T[0..n 1],長度為n;字符表以Σ表示,大小為σ。將匹配過程中P與T中長度為m的子串作一次比較稱為一次嘗試,并將當前嘗試中與模式串對齊的T的子串稱為當前窗口。

在通常應用中,BM[1]算法被看做是最有效的單模式匹配算法。它采用從右向左的比較方式,并利用當前嘗試中的已匹配信息和匹配失敗的字符,查找預處理好的好后綴跳躍表(good suffix shift table)和壞字符跳躍表(bad character shift table),使嘗試跳躍式地進行。其最大可能跳躍距離為m。TunedBM[2]算法則是BM算法的簡化實現。由于它只使用了壞字符跳躍表,有效地減少了字符比較次數,在實際應用中效率比BM算法高,但最壞情況時的性能不如BM。本文在對這兩種算法進行簡要介紹和分析的基礎上,綜合兩者之長,提出了一種更加快速的單模式匹配算法,即NFS。該算法充分利用當前嘗試中匹配失敗字符的位置信息,以期在每一次跳躍中跳躍盡量大的距離。實驗結果表明,與其他同類算法相比,NFS算法更加有效。尤其是在模式長度較短的情況下,表現出優(yōu)越的查找性能。考慮到漢語詞的平均長度約為4 Byte,故該算法對中文信息處理中的信息檢索問題尤為適用。

1BM和TunedBM算法

1)BM算法

BM算法在當前窗口中對模式P自右向左進行掃描。當匹配失敗或完全匹配時,用兩個預先計算的偏移函數BadCha racter和GoodSuffix來確定文本指針的右移距離。該算法預處理階段的時間復雜度為O(m+σ);匹配階段的時間復雜度為O(mn),但當匹配一個非周期化的模式時至多需要匹配3n個文本字符,最好情況下的時間復雜度為O(n/m)。

2)TunedBM算法

考慮到字符的比較操作是模式匹配算法中最費時的部分,可以在實際比較前盡量向前移動模式。TunedBM算法只使用了BadCharacter偏移函數。在匹配階段,算法在文本串中查找P[m-1](即模式P的最后一個字符)。若不匹配則指針一直向前移動,直到找到它。在找到P[m-1]的情況下,再比較模式中的其他字符。此后無論相等與否都將使文本指針向前移動P[m-1]對應的偏移位置。預處理階段的時間復雜度為O(m+σ)。匹配階段時間復雜度最壞情況下可達到平方級,但在實際應用中效率很高。

2NFS算法

進一步提高模式匹配算法效率的主要途徑是利用當前嘗試中可以獲取的信息進一步增大跳躍距離。綜合BM和TunedBM算法的優(yōu)點,本文提出了NFS算法。它采用TunedBM的BadCharacter和BM的GoodSuffix對模式進行預處理;然后根據當前嘗試中匹配失敗字符的位置信息,決定是查找好后綴跳躍表還是壞字符跳躍表,以期獲得更大的跳躍距離。算法分為模式的預處理階段和文本的查找階段。

2.1預處理階段

預處理階段的任務是計算BadCharacter和GoodSuffix兩個偏移量函數。

1)BadCharacter函數的計算

5結束語

NFS算法綜合了BM和TunedBM算法的優(yōu)點,使每一次匹配不成功后都能跳過盡可能多的字符以進行下一輪匹配,有效地提高了匹配速度。由于查找問題的普遍性,該方法具有廣闊的應用前景。

參考文獻:

[1]BOYER R S,MOORE J S.A fast string searching algorithm[J].Commun ACM,1977,20(10):762 772.

[2]CHARRAS C,LECROR T.Exact string matching algorithms[EB/OL].(1997).http://www igm.univ mlv.fr/~lecroq/string/.

[3]COLE R.Tight bounds on the complexity of the Boyer Moore string matching algorithm[J].SIAM J Comput,1994,23(5):1075 1091.

[4]LECROQ T.Experimental results on string matching algorithms[J].Software Practice and Experience,1995,25(7):727 765.

[5]HORSPOOL R N.Practical fast searching in strings[J].Software Practice and Experience,1980,10(6):501-506.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 久久精品中文字幕少妇| 美女无遮挡被啪啪到高潮免费| 欧美日韩国产成人高清视频| 免费中文字幕在在线不卡| 中文字幕1区2区| 亚欧成人无码AV在线播放| 伊人久热这里只有精品视频99| 国产精品亚洲欧美日韩久久| 国产成人啪视频一区二区三区| 国产99欧美精品久久精品久久| 又污又黄又无遮挡网站| 潮喷在线无码白浆| 四虎影视库国产精品一区| 国产精品成人AⅤ在线一二三四| 白浆视频在线观看| 国产精品第三页在线看| 久久亚洲国产最新网站| 国产精品微拍| 67194亚洲无码| 欧美色图久久| 中文字幕人成乱码熟女免费| 成人福利在线免费观看| 在线免费无码视频| 欧美中文字幕在线视频| 国产经典三级在线| 免费一极毛片| 亚洲人在线| 在线亚洲小视频| 婷婷激情五月网| 国产一级毛片网站| 亚洲区欧美区| 日本一本正道综合久久dvd| 岛国精品一区免费视频在线观看| 国产精品原创不卡在线| 亚洲免费人成影院| 久久这里只精品国产99热8| 国产精品自拍合集| 国产爽歪歪免费视频在线观看 | 午夜毛片福利| 国产成人综合网| 午夜国产不卡在线观看视频| 国产凹凸视频在线观看| 香蕉综合在线视频91| 亚洲天堂免费| 日本免费精品| 欧美久久网| 91美女在线| 日韩经典精品无码一区二区| 在线a网站| 国产精品亚洲片在线va| 国产精品毛片一区视频播| 亚洲国产日韩视频观看| 国内视频精品| 99久久精品免费观看国产| 亚洲成人动漫在线| 国产精品自在拍首页视频8 | 国产交换配偶在线视频| 99人妻碰碰碰久久久久禁片| 中文国产成人久久精品小说| 久青草免费在线视频| 亚洲国产精品日韩av专区| 色综合狠狠操| 久久精品国产免费观看频道| 中文字幕在线播放不卡| 国产主播在线一区| 精品伊人久久久久7777人| 欧洲精品视频在线观看| 天堂在线亚洲| 国产精品第5页| 精品欧美一区二区三区在线| 婷婷亚洲最大| 97se亚洲综合不卡| 国产丝袜啪啪| 亚洲天堂伊人| 亚洲精品无码日韩国产不卡| 国产99久久亚洲综合精品西瓜tv| 伊人久久福利中文字幕| 亚洲电影天堂在线国语对白| 国产一级毛片在线| 久久午夜影院| 免费国产无遮挡又黄又爽| 精品人妻无码区在线视频|