數(shù)據(jù)結(jié)構(gòu)串kmp算法 數(shù)據(jù)結(jié)構(gòu)kmp算法詳解
KMP算法是d.e.knuth、v.r.pratt和j.h.morris同時發(fā)現(xiàn)的一種改進的字符串匹配算法,因此被稱為Knut-morris-Platt操作(簡稱KMP算法)。KMP算法的關(guān)鍵是根據(jù)給
KMP算法是d.e.knuth、v.r.pratt和j.h.morris同時發(fā)現(xiàn)的一種改進的字符串匹配算法,因此被稱為Knut-morris-Platt操作(簡稱KMP算法)。KMP算法的關(guān)鍵是根據(jù)給定的模式串W1,M定義下一個函數(shù),下一個函數(shù)包含模式串本身的局部匹配信息。完全掌握KMP算法和研究數(shù)據(jù)結(jié)構(gòu)的人對KMP算法印象深刻。尤其是新手,很難理解其含義,困惑不解。今天,我們要面對它。如果我們不徹底理解它,我們永遠不會停止?,F(xiàn)在,大家基本上都用嚴為民老師的書,所以我就用它來解釋KMP算法。閻老的《數(shù)據(jù)結(jié)構(gòu)》79-84頁講述了基本的匹配方法,這是基礎(chǔ)。我們直說吧。在第80頁開始討論KMP算法的時候,我們給出了一個例子,讓我們對KMP的基本思想有一個初步的了解。目的是指出“因此,在整個匹配過程中,I指針沒有回溯”。介紹了張明、趙海燕、王騰嬌主編的《數(shù)據(jù)結(jié)構(gòu)與算法》(北京大學(xué)出版社)。書中的“字符串”一章對KMP算法有更詳細、更易懂的介紹。