字符串匹配 -- 樸素字符串匹配算法

樸素字符串匹配算法


參考資料

1 算法導論


樸素字符串匹配  

它用一個循環來找出所有有效位移,該循環對 n - m + 1 個可能的每一個 s 值檢查條件 P [ 1.. m ] = T [ s+ 1 .. s + m ] 。
這種樸素的字符串匹配過程可以形象的看成用一個包含模式的模板沿文本滑動,同時對每一個位移注意木板上的字符是否與文本中的相應字符相等。 


算法實現

NAIVE-STRING-MATCHER( T , P )
1  n   ←  length[ T ]
2  m  ←  length[ P ]
3  for  s ← 0  to n - m 
4        for i ← 0  to m
5             do if T[ s + i] = P[ i ]
6                      繼續循環
7              else print " 結束循環"




NAIVE-STRING-MATCHER的運行時間爲 O ( (n-m+1)m) 。

接下來將繼續介紹字符串匹配算法 -- Rabin - Karp算法 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章