js做音乐网站,视觉设计师是做什么的,网站建设的必要,网站开发不让搜索引擎主串与模式串的匹配 #xff08;1#xff09;BF算法#xff1a; BF算法比较简单直观#xff0c;其匹配原理是主串S.ch[i]和模式串T.ch[j]比较#xff0c;若相等#xff0c;则i和j分别指示串中的下一个位置#xff0c;继续比较后续字符#xff0c;若不相等#xff0c;从…主串与模式串的匹配 1BF算法 BF算法比较简单直观其匹配原理是主串S.ch[i]和模式串T.ch[j]比较若相等则i和j分别指示串中的下一个位置继续比较后续字符若不相等从主串S的下一个字符ii-j2起再重新和模式串T的第一个字符j1比较。 2KMP算法 KMP算法相对BF会复杂一些但对于计算机而言这其实是减少很多不必要的匹对。在匹配失败时最大的移动模式串以减少匹配次数即当匹配失败时S.ch[i]!T.ch[j]在模式串中已匹配的字符找出其长度最长的相同前后缀假设其长度为k则模式串T回溯到T.ch[k1]与S.ch[i]匹对。 模式串前后缀相同个数a无0ab无0abaa1ababa、ab2ababaa、ab、aba3在作业题中我用的是KMP算法进行匹配。考虑的当模式串第一位字符与主串字符不匹配时若按原方法回溯会陷入死循环所以讲next[0]初始为-1 定义晚next函数后则定义KMP函数仅需匹配时i和j不匹配时i不变jnext[j]将模式串回溯至k重新开始进行匹配直至匹配完成输出i-j1主串中的子串的第一个字符所在位置 转载于:https://www.cnblogs.com/llhs/p/10703167.html