C语言 实现 KMP算法
已传入github,可下载,想测试对应函数,调用传参即可,记得注释掉之前的主函数
文件名为2022_1_19,因为是是那天写的
GitHub - frankRenlf/c_programshttps://github.com/frankRenlf/c_programs.git部分代码如下:
我使用了两种方法写KMP算法,前一种参考了网上其他人的写法,不过重点在后面mykmp函数上,
个人认为用动态内存的方法更好,节省空间,并优化了计算速度.
其中nextval可以节省大量运行时间,极大提升函数在面对某些cases的运行速度.你们可以好好想想怎么提升的.
void Next(char* T, int* next) {
int i = 1;
next[1] = 0;
int j = 0;
while (i < strlen(T)) {
if (j == 0 || T[i - 1] == T[j - 1]) {
i++;
j++;
next[i] = j;
}
else {
j
C语言 实现 KMP算法最先出现在Python成神之路。
共有 0 条评论