Kmp字元匹配演算法優化C 實現

2021-06-01 13:41:16 字數 739 閱讀 2840

c++實現kmp字元匹配演算法的優化版

標頭檔案:kmpalgorithm.h

#ifndef kmpalgorithm_h

#define kmpalgorithm_h

#include #include class kmpalgorithm

int index_kmp(int pos); //字元匹配函式

};#endif //kmpalgorithm_h

實現檔案:kmpalgorithm.cpp

#include "kmpalgorithm.h"

void kmpalgorithm::get_next()

else

j = next[j]; }}

int kmpalgorithm::index_kmp(int pos) //字元匹配函式

else

}if(j >= t.size()) //匹配成功返回在主串中的位置

return i - t.size() + 1;

else

return -1; //失敗返回-1

}

測試檔案:main.cpp

#include "kmpalgorithm.h"

#include using namespace std;

int main()

字元匹配KMP演算法 java實現

package com.text 字串匹配 author lk public class kmp else if j patchars.length 1 return i j else return 0 kmp演算法 param str param pos param pat return publ...

字元匹配kmp演算法

前言 之前對kmp演算法雖然了解它的原理,即求出p0 pi的最大相同前字尾長度k 但是問題在於如何求出這個最大前字尾長度呢?我覺得網上很多帖子都說的不是很清楚,總感覺沒有把那層紙戳破,後來翻看演算法導論,32章 字串匹配雖然講到 了對前1.kmp演算法的原理 本部分內容 字串匹配是計算機的基本任務之...

字元匹配 KMP演算法

problem description 給定兩個字串string1和string2,判斷string2是否為string1的子串。input 輸入包含多組資料,每組測試資料報含兩行,第一行代表string1 長度小於1000000 第二行代表string2 長度小於1000000 string1和s...