字符串——子串匹配
比较失败时,主串游标不需要大幅的回退(蛮力算法需要大幅回退,而这里主串游标不回退),而将模式串的游标回退到指定位置。,也就是说主串的这部分子串与模式串的这部分子串相同。既然如此,我们可以利用模式串自身的关系来避免不必要的比较。在主串s中,定位模式串p在字符串的位置。若p存在于s中,返回最先匹配的位子,否则返回-1。从蛮力算法中可以看出,每次在比较子串失败时,主串都要回到上次开始的下一个字符。对应的主串的字符为1,所以这里存在大量无效的回退。蛮力算法是朴素的想法,我们用python代码来表示蛮力算法的思想。
原创
2023-03-27 19:11:33 ·
797 阅读 ·
0 评论