自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 KMP算法中next数组前后缀证明

想要知道具体如何以写出简单易懂的求解next数组的代码,或者想更容易理解网上的next数组源码,请点链接。,很显然,如果不是从第一个开始的话,那当我们跳的时候是不能确保模式串的第一个字符和主串是否匹配的。,从而来找到正确的跳跃的的位置时候是不能确保模式串的。当模式串的某个字符与主串不匹配时,那我们就要去。确保前缀的开头是第一个模式串中的第一个字符。开始匹配的位置与前后缀之间的关系。我们在用这个办法的前提是:要。在跳跃到正确的位置后,我们要。,在能保证下一步的正常进行。

2024-04-14 00:27:26 616 1

原创 KMP算法中关于next数组代码小白式解析

不过我们发现第三个字符‘b’前面的俩个字符是一模一样的,而我们是在第三个字符才发现不匹配的,说明前俩个字符是与主串匹配的,而又因为前两个字符是一样的,那我们就可以让模式串匹配的起点向下一个如下图——这样的话,我们就省下了一次不必要的无效的匹配过程,如下图。在源码中,当所比较的前缀跟后缀不一样时,让else中的k=next[k];我们把next[0]前面加上-1,将上面所得到的数据整体向后移一位,去掉最后一个数,就得到了一次模式串的起点索要移动的次数——这就是我们所要KMP算法中next数组的值(如图)。

2024-04-12 21:24:09 1201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除