天天看點

算法——字元串比對算法自己有限的駕駛機器

即給定一個目前狀态k和一個字元x。計算下一個狀态;計算方法為:找出模式pat的最長字首prefix。同一時候也是pat[0...k-1]x(注意:字元串下标是從0開始)的字尾,則prefix的長度即為下一個狀态。比對的過程是比較輸入文本子串和模式串的狀态值,若相等則存在。若不想等則不存在。

有關理論知識參考《算法導論》,這裡不正确理論知識進行解說。

算法——字元串比對算法自己有限的駕駛機器
算法——字元串比對算法自己有限的駕駛機器

    下面是模式串為P=abababaca的自己主動機運作過程

算法——字元串比對算法自己有限的駕駛機器

源代碼實作

參考資料:

《算法導論》

<a target="_blank" href="http://www.geeksforgeeks.org/searching-for-patterns-set-5-finite-automata/">http://www.geeksforgeeks.org/searching-for-patterns-set-5-finite-automata/</a>

<a target="_blank" href="http://my.oschina.net/amince/blog/182210">http://my.oschina.net/amince/blog/182210</a>

本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/4914074.html,如需轉載請自行聯系原作者

繼續閱讀