算法导论之字符串匹配
當(dāng)然對(duì)于前綴函數(shù)π一定可以起到有效位移的判斷,導(dǎo)論還是給了證明。這里就說(shuō)明其證明依據(jù)和結(jié)論。
前綴函數(shù)迭代引理:設(shè)P是長(zhǎng)度為m的模式,其前綴函數(shù)為π,對(duì)q=1,2…,m,有π*[q]= {k:k<q且Pk是Pq的后綴}。
設(shè)P是長(zhǎng)度為m的模式,π是P的前綴函數(shù),對(duì)q=1,2…,m,如果π[q]>0,則π[q]-1∈π*[q-1]。
實(shí)際上自動(dòng)機(jī)匹配算法和KMP匹配算法是等價(jià)的,都是對(duì)模式自身規(guī)律的研究來(lái)提升樸素算法的無(wú)效位移,而Rabin-Karp算法則是利用Hash映射來(lái)提升性能。可以看出,要很好實(shí)現(xiàn)算法,最主要的是將問(wèn)題形式化建立起數(shù)學(xué)模型,然后應(yīng)用數(shù)學(xué)原理來(lái)解決,這還是建模的思路,主要當(dāng)然還是數(shù)學(xué)原理的應(yīng)用。比如Rabin-Karp算法將字符通過(guò)基數(shù)進(jìn)制化,再利用數(shù)論原理和霍納法則來(lái)解決;對(duì)于很多機(jī)器學(xué)習(xí)算法來(lái)說(shuō),最重要是對(duì)現(xiàn)實(shí)構(gòu)建軟件可處理的數(shù)據(jù),一般就是向量化過(guò)程。
總結(jié)
以上是生活随笔為你收集整理的算法导论之字符串匹配的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java实现从Html文本中提取纯文本
- 下一篇: 算法导论之计算几何学