《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 一種基于QS的字符串匹配改進算法
一種基于QS的字符串匹配改進算法
寧小軍,周 智,黃劉生
(中國科學技術大學 信息學院,安徽 合肥230027)
摘要: 本文在分析BM和QS算法特點的基礎上,綜合利用了正文T[i+m-1]和T[i+m]位置上的字符信息,提出一種移動距離不小于模式長度的快速字符串匹配算法。該算法解決了QS算法在skip[i+m-1]<skip[i+m]時低效的問題。
Abstract:
Key words :

摘  要: 本文在分析BM和QS算法特點的基礎上,綜合利用了正文T[i+m-1]和T[i+m]位置上的字符信息,提出一種移動距離不小于模式長度的快速字符串匹配算法。該算法解決了QS算法在skip[i+m-1]<skip[i+m]時低效的問題。
關鍵詞: 模式匹配  串搜索  算法

  串匹配問題是計算機科學領域研究中的一個焦點問題,它在情報檢索、自然語言翻譯、基因序列匹配、壓縮數據、圖像處理、網絡入侵檢測以及事務管理系統等諸多非數值處理方面都有著非常廣泛的應用。串匹配就是在一個大的正文T中搜索指定模式P的所有出現位置。按照功能,串匹配算法主要分為三類:精確串匹配算法、近似串匹配算法和正則表達式算法。其中,最有影響的是KMP算法、BM算法、RK隨機算法和SUANDAY算法以及由此而產生的一些改進算法。在實際應用中,這些算法都各有千秋,各有側重。
1  BM和QC算法分析
  字符串匹配問題描述:

1.1 BM算法
  BM是由Boyer和Moore于1977年提出的,它是一種簡單、快速、通用的工程算法。它的特點是在窗口內部從右向左逆向匹配,采用壞字符啟發和好后綴啟發兩種方法,通過預處理模式分別計算BadcharShift[char]和GoodSufShift[char]轉移表。當發現不匹配時,選擇兩者中的最大值作為模式向右移動的距離。
BM算法的預處理分為壞字符轉移表和好后綴轉移表兩個階段。
  壞字符移動表BadcharShift[char]記錄的是字符char在模式串P中的最右出現位置。具體表述為:
  

  BM算法的空間復雜度和預處理時間均為O(m+σ)。在最壞情況下,它的時間復雜度為O(nm);在最好情況下,時間復雜度為O(n/m)。
  從理論上講,BM算法的時間復雜度要大大高于KMP算法的時間復雜度O(m+n),但在實際應用中,BM算法的搜索步長接近于模式長度m,所以執行效率非常高。
1.2 QS算法
  QS算法是一種簡單、快速、實用的算法。在模式匹配過程中,該算法將發生失配的字符與計算右移量兩者獨立開來的現象,其僅利用T[i+m]字符計算BadcharShift[T[i+m]]來決定模式轉移。通常情況下,模式轉移量為m+1,這大大提高了算法的搜索步長和匹配效率。
  QS算法的預處理與BM算法的對壞字符啟發的預處理相同。
  QS算法的匹配過程如下:
  

  QS算法的空間復雜度和預處理時間均為O(m+σ)。在最壞情況下,它的時間復雜度為O(mn);在最好情況下,時間復雜度為O(n/m+1)。
  QS算法利用了失配情況下T[i+m]字符引起的Badchar-
  Shift[T[i+m]],大大簡化了初始化過程,使其編碼簡單且調試迅速。通常情況下,QS算法比BM算法要快,但是當T[i+m-1]不在模式中,而T[i+m]在模式中時,即(m-BadcharShift[T[i+m-1]])>(m-BadcharShift[T[i+m]])時,QS算法的效率就會大打折扣。
2  新算法
2.1 算法基本思想及步驟
  針對上述分析,本文在吸收BM算法在模式窗口內自右向左逆向搜索的特點和QS算法利用BadcharShift[T[i+m]]向右最大移動模式串的特點的基礎上,充分挖掘了BadcharShift[T[i+m-1]]的潛在可利用的隱含信息,進一步優化和完善了QS算法。在預處理方面,新算法與QS算法基本相同,不同的是當模式在當前模式匹配窗口內自右向左匹配正文的過程中發生失配時,比較正文中T[i+m]和T[i+m-1]這兩個字符的移動距離,取其最大值進行移動,然后在新位置重新開始模式匹配。圖1為一個新算法匹配過程示例。

  新算法的匹配過程如下:

  

  新算法在QS算法的基礎上,充分利用了失配時T[i+m-1]和T[i+m]兩個字符引起的移動距離的最大值,使得移動距離增大,減少了模式匹配的比較次數。通常情況下,新算法的時間復雜度為O(n/m+1)。
2.2 性能測試
  針對本文提出的新算法,從參考文獻[1]中抽取chapter 32 String Matching中第一段內容作為測試正文,并在同樣的軟硬件環境下對BF、BM、QS和新算法進行比較,以檢測新算法在性能和效率方面的表現。表1為各種算法性能比較結果。

  測試正文:
  Finding all occurrences of a pattern in a text is a problem that arises frequently in text editing programs.Typically,the text is a document being edited,and the pattern searched for is a particular word supplied by the user.Efficiedt algorithms for this problem can greatly aid the responsiveness of the test editing program.String matching algorithms are also used,for example,to search for particular patterns in DNA sequences.
  搜索模式:the pattern searched
  由表1可知:新算法是一種比較次數少、耗時小、效率高的快速字符串匹配算法。

參考文獻
1   Knuth D E,Morris J H,Pratt V R.Fast pattern matching in  string.SIAM Journal on Computing,1977;6(2)
2   Boyer R S,Moore J S.A fast string searching algorithm.  Communications of ACM,1977;20(10)
3   Sunday D M.A very fast substring search algorithm.Communication of the ACM,1990;33(1)
4   Cormen T H,Leiserson C E,Rivest R L.TNTRODUCTION TO ALGORITHM(secondd edition).The Massachusetts Institute of Technology,2001;907

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          136国产福利精品导航| 亚洲日本在线视频观看| 国产亚洲欧美激情| 国产精品乱码久久久久久| 国产精品久久久久77777| 欧美成人午夜激情视频| 欧美www视频| 国产麻豆精品久久一二三| 欧美区视频在线观看| 国产亚洲欧美一区| 亚洲愉拍自拍另类高清精品| 在线亚洲欧美专区二区| 韩日成人在线| 国产精品美女视频网站| 国产精品夜夜夜| 国产精品国产三级国产| 国产精品视频午夜| 国产精品久久久久免费a∨大胸| 欧美精品videossex性护士| 欧美精品一区二区高清在线观看| 国产日韩精品在线| 亚洲一区尤物| 国产精品一区在线播放| 欧美成人精品三级在线观看| 亚洲伊人久久综合| a4yy欧美一区二区三区| 国产精品亚洲а∨天堂免在线| 欧美日韩无遮挡| 最新中文字幕亚洲| 这里只有精品视频在线| 欧美一区日本一区韩国一区| 久久不射中文字幕| 久久精品国产999大香线蕉| 一区二区精品在线观看| 久久久噜噜噜久久狠狠50岁| 欧美一区在线视频| 国产欧美日韩视频在线观看| 亚洲日本无吗高清不卡| 欧美激情欧美狂野欧美精品| 极品少妇一区二区三区精品视频| 日韩一区二区精品葵司在线| 国产精品久久久999| 欧美大色视频| 中文国产亚洲喷潮| 欧美精品一区二区三区久久久竹菊| 国产精品高清免费在线观看| 欧美一区二区三区久久精品茉莉花| 欧美日韩国产经典色站一区二区三区| 老司机午夜精品视频在线观看| 好看的日韩av电影| 亚洲国产成人久久综合| 99国产精品国产精品久久| 亚洲欧美激情精品一区二区| 亚洲永久精品大片| 久久久夜夜夜| 免费一级欧美在线大片| 欧美视频免费看| 国产亚洲精品美女| 亚洲第一精品影视| 欧美成人午夜激情| 亚洲第一页自拍| 亚洲婷婷国产精品电影人久久| 欧美精品免费看| av成人免费在线观看| 欧美久久一区| 国产日韩精品久久| 欧美午夜不卡影院在线观看完整版免费| 正在播放欧美一区| 久久男人av资源网站| 狠久久av成人天堂| 99精品国产一区二区青青牛奶| 另类国产ts人妖高潮视频| 激情91久久| 一区二区三区毛片| 欧美日韩亚洲视频一区| 一区二区三区欧美日韩| 欧美日韩在线播放一区二区| 欧美精品一区二区三区一线天视频| 欧美在线国产精品| 久久九九国产精品| 欧美特黄a级高清免费大片a级| 亚洲欧美日韩精品久久久| 欧美精品999| 国产精品久在线观看| 国产欧美一区二区三区在线老狼| 亚洲国产精品999| 国产亚洲欧美日韩在线一区| 亚洲乱码日产精品bd| 国产精品久久久999| 奶水喷射视频一区| 国产精品久久一级| 亚洲一区二区视频| 91久久夜色精品国产网站| 久久久91精品| 国产精品羞羞答答| 国产精品成人免费精品自在线观看| 欧美专区在线观看| 亚洲一区二区精品视频| 亚洲中无吗在线| 欧美 日韩 国产一区二区在线视频| 1204国产成人精品视频| 国产精品你懂的在线欣赏| 国产精品久久久久影院色老大| 伊人久久亚洲美女图片| 欧美日韩一区自拍| 美女精品在线观看| 亚洲韩国精品一区| 欧美精品一卡二卡| 国产一区二区视频在线观看| 国产精品自在欧美一区| 亚洲国产成人久久综合| 一区二区三区精品在线| 99精品国产高清一区二区| 欧美日韩一区二区三区视频| 一区二区三区四区五区精品| 伊人久久亚洲美女图片| 欧美与欧洲交xxxx免费观看| 91久久久久久国产精品| 国产亚洲欧洲997久久综合| 国产亚洲激情视频在线| 国内精品美女在线观看| 国产精品麻豆成人av电影艾秋| 夜夜躁日日躁狠狠久久88av| 欧美日韩精品不卡| 久久先锋资源| 欧美日韩国产色站一区二区三区| 在线观看欧美精品| 老司机aⅴ在线精品导航| 国产午夜精品理论片a级大结局| 午夜欧美精品久久久久久久| 国产精品久久久久影院亚瑟| 欧美在线观看日本一区| 亚洲国产精品精华液2区45| 亚洲一区二区av电影| 久久人人97超碰人人澡爱香蕉| 国产精品综合av一区二区国产馆| 日韩视频一区二区三区| 欧美成人一区二区| 久久亚洲精品中文字幕冲田杏梨| 欧美三区在线| 欧美三级午夜理伦三级中视频| 亚洲人成在线观看网站高清| 亚洲欧美日韩精品久久奇米色影视| 国产精品任我爽爆在线播放| 嫩草伊人久久精品少妇av杨幂| 国产欧美 在线欧美| 国产精品国产精品国产专区不蜜| 国产亚洲欧美日韩精品| 国产毛片精品视频| 毛片av中文字幕一区二区| 国产欧美日韩亚州综合| 国产精品久久中文| 今天的高清视频免费播放成人| 亚洲欧美日韩在线观看a三区| 欧美午夜a级限制福利片| 国语自产精品视频在线看抢先版结局| 久久精品人人做人人爽| 欧美高清在线播放| 久久成人精品一区二区三区| 久久躁日日躁aaaaxxxx| 国产精品久久久久久久7电影| 亚洲日韩视频| 中文欧美日韩| 欧美www视频在线观看| 欧美精品久久久久久| 国产综合18久久久久久| 亚洲理论在线| 狠狠干成人综合网| 欧美电影免费观看高清完整版| 亚洲精品九九| 国产精品国产三级国产普通话三级| 欧美日韩综合在线免费观看| 在线亚洲免费| 一区精品久久| 亚洲二区精品| 欧美日韩国产成人在线| 欧美精品不卡| 欧美大片专区| 欧美亚洲成人免费| 欧美风情在线观看| 欧美精品v日韩精品v韩国精品v| 亚洲区一区二| 亚洲视频一二| 欧美韩国在线| 国产精品99久久久久久久女警| 欧美一区二区在线视频| 国产精品久久亚洲7777| 亚洲韩国日本中文字幕| 亚洲人成小说网站色在线| 久久一区二区三区av| 欧美日韩视频在线一区二区观看视频| 国产一区二区三区久久久| 久久久久国产精品麻豆ai换脸| 黑丝一区二区| 欧美一区二区三区四区在线| 国产欧美一区二区精品秋霞影院| 久久成人免费视频| 欧美插天视频在线播放| 欧美1区2区3区| 亚洲中字在线| 国产精品v欧美精品v日本精品动漫| 久久久国产视频91| 91久久在线视频| 国产精品美女久久久| 亚洲欧美日韩国产一区二区三区| 国产亚洲精品一区二区| 国产欧美精品在线观看| 亚洲另类一区二区| 欧美视频免费在线观看| 亚洲字幕一区二区| 亚洲电影视频在线| 亚洲欧美一区在线| 欧美一区二区视频免费观看| 欧美日韩国产综合视频在线| 亚洲午夜电影| 久久成人综合视频| 国产精品综合视频| 亚洲欧美中日韩| 亚洲第一区在线观看| 国产在线精品一区二区中文| 欧美日本一区二区高清播放视频| 91久久精品国产91久久性色tv| 亚洲电影视频在线| 91久久极品少妇xxxxⅹ软件| 国产午夜亚洲精品不卡| 久久精品麻豆| 夜夜精品视频一区二区| 欧美一区二区三区在线播放| 在线一区二区三区四区五区| 欧美福利专区| 国产午夜精品视频免费不卡69堂| 久久国产精品久久精品国产| 中文欧美日韩| 午夜精品久久久久久久久久久久| 欧美久久久久久蜜桃| 久久久久久999| 亚洲国产精品99久久久久久久久| 欧美视频日韩视频| 99这里只有精品| 欧美日韩高清在线| 亚洲精品自在在线观看| 欧美日韩亚洲视频一区| 久久大逼视频| 国产欧美综合一区二区三区| 亚洲电影有码| 国产欧美日韩不卡| 午夜精品视频一区| 国产亚洲成av人片在线观看桃| 亚洲免费视频一区二区| 在线成人www免费观看视频| 欧美日韩一区不卡| 欧美在线一级视频| 美女黄毛**国产精品啪啪| 久久精品国产999大香线蕉| 欧美午夜精品理论片a级按摩| 久久精品国产77777蜜臀| 亚洲国产精品成人综合| 欧美色道久久88综合亚洲精品| 日韩视频精品在线| 欧美日韩国产系列| 欧美激情中文字幕在线| 欧美日韩大片| 欧美乱在线观看| 欧美精品激情在线| 日韩午夜激情av| 国产精品免费看片| 亚洲第一天堂av| 国产精品国产三级国产专播精品人| 免费久久99精品国产自在现线| 欧美电影在线免费观看网站| 欧美激情久久久| 久久精品国产亚洲一区二区三区| 尤物网精品视频| 中日韩美女免费视频网站在线观看| 亚洲欧美视频在线观看视频| 亚洲欧美在线网| 亚洲影院色无极综合| 永久域名在线精品| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久一二三四| 久久成人这里只有精品| 国内外成人免费激情在线视频| 国产精品你懂的| 在线亚洲伦理| 久久女同互慰一区二区三区| 亚洲美女视频| 欧美一区午夜精品| 欧美日韩国产一区二区| 国产一区二区三区自拍| 久久精品视频免费| 亚洲高清中文字幕| 国产日韩一区二区三区在线| 欧美韩日高清| 欧美日韩在线视频一区| 国产精品亚发布| 久久精品主播| 国产一区二区三区久久悠悠色av| 国产日产亚洲精品系列| 亚洲国产精品悠悠久久琪琪| 国产日韩欧美二区| 久久gogo国模啪啪人体图| 久久夜色精品国产欧美乱极品| 国产嫩草一区二区三区在线观看| 精品99一区二区| 久久视频一区二区| 久久久亚洲欧洲日产国码αv| 美女黄色成人网| 国产精品白丝jk黑袜喷水| 亚洲人体大胆视频| 亚洲国产精品va在线看黑人| 欧美激情片在线观看| 欧美精品色一区二区三区| 亚洲欧美激情精品一区二区| 国产精品久久婷婷六月丁香| 亚洲国产精品日韩| 亚洲精品免费在线| 国产视频丨精品|在线观看| 亚洲午夜激情在线| 久久午夜色播影院免费高清| 欧美一区永久视频免费观看| 久久美女艺术照精彩视频福利播放| 亚洲精品视频免费观看| 亚洲愉拍自拍另类高清精品| 一区二区三区四区精品| 国产精品入口麻豆原神| 亚洲春色另类小说| 国产美女高潮久久白浆| 免费一级欧美在线大片|