分享到plurk 分享到twitter 分享到facebook

版本 bb301f89a66086e0cec9d93ad50ba56abdaf62a5

acm/course/String_Matching

Changes from bb301f89a66086e0cec9d93ad50ba56abdaf62a5 to 207fd6cb84d9188fb1b339f1327297de6afc00f5

KMP
==========
Knuth-Morris-Pratt algorithm

使用時機:
給定A,B兩字串,尋找B字串是否存在A當中
當B的字串內容,本身有<b>重複的字串</b>時,可用KMP以減少重複否配的時間

ex:

B : aabaab

B字串本身重複 "aab"

![alt text](/acm/KMP_1.gif)
![跳過重複字串](/acm/KMP_1.gif)


方法:先用fail function找出字串B重複的字串


Fail Function
------------------------
<b>目的:當否配失敗時,能知道字串B要對齊哪裡繼續否配</b>
 



![alt text](/acm/KMP_2.gif)