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

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

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

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

關鍵詞:模式匹配;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算法更加有效。尤其是在模式長度較短的情況下,表現出優越的查找性能。考慮到漢語詞的平均長度約為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算法的優點,本文提出了NFS算法。它采用TunedBM的BadCharacter和BM的GoodSuffix對模式進行預處理;然后根據當前嘗試中匹配失敗字符的位置信息,決定是查找好后綴跳躍表還是壞字符跳躍表,以期獲得更大的跳躍距離。算法分為模式的預處理階段和文本的查找階段。

2.1預處理階段

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

1)BadCharacter函數的計算

5結束語

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

參考文獻:

[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格式閱讀原文”

主站蜘蛛池模板: 一本久道久久综合多人| 成年女人a毛片免费视频| 国产亚洲一区二区三区在线| 国产黄色片在线看| 国产一级毛片在线| 91亚洲免费| 欧美.成人.综合在线| 欧美成人aⅴ| 天天色天天操综合网| 日韩色图区| 99热这里只有精品在线观看| 国产95在线 | 婷婷午夜天| 国产色婷婷| 亚洲综合极品香蕉久久网| 亚洲天堂网在线观看视频| 欧美、日韩、国产综合一区| 国产亚洲精品无码专| 视频国产精品丝袜第一页| 91青青草视频在线观看的| 免费精品一区二区h| 蜜臀AV在线播放| 国产福利一区在线| 欧美在线综合视频| 久久综合五月婷婷| 国产成人精品一区二区不卡| 国产精品久久久久无码网站| 操国产美女| 99热这里只有成人精品国产| 91福利免费| 一级毛片免费播放视频| 国产精品毛片在线直播完整版| 玖玖免费视频在线观看| 国产欧美综合在线观看第七页| 黄片一区二区三区| 日韩视频福利| 国产精品三级专区| 亚洲精品你懂的| 无码精品国产VA在线观看DVD| 91免费精品国偷自产在线在线| 99re热精品视频国产免费| 国产高清在线观看| 强奷白丝美女在线观看| 国产一二三区在线| 欧日韩在线不卡视频| 精品三级网站| 国产精品视频导航| 国产精品污视频| 国产激爽爽爽大片在线观看| 天堂av高清一区二区三区| 日韩最新中文字幕| 久无码久无码av无码| 伊人久久精品亚洲午夜| 91精品啪在线观看国产91九色| 国产成人成人一区二区| 午夜不卡视频| 一区二区欧美日韩高清免费| 欧美成人免费午夜全| 综合色亚洲| 亚洲精品欧美日本中文字幕| A级全黄试看30分钟小视频| 亚洲国产av无码综合原创国产| 成人日韩视频| 国产成人1024精品下载| 久久一本日韩精品中文字幕屁孩| 男女精品视频| 国产又粗又爽视频| 免费激情网站| 亚洲国产清纯| 欧洲高清无码在线| 亚洲美女视频一区| 夜夜爽免费视频| 国产99免费视频| 国产va欧美va在线观看| 在线看国产精品| 亚洲黄色网站视频| 国产精品不卡片视频免费观看| 日本精品影院| 嫩草在线视频| 久久精品亚洲专区| 国产极品粉嫩小泬免费看| 91视频99|